我正在将我的搜索功能转移到jquery对话框中。
最初我有
Use the following search box to located by Last Name
Search By: Search
我添加了以下javascript:
var dlgSearch = $("#SearchDialog").dialog({
autoOpen: false,
zIndex: 9999,
bgiframe: true,
resizable: false,
width: 450,
modal: true,
overlay: {
backgroundColor: '#000',
opacity: 0.5
},
buttons: {
'Search':
function() {
<%= Page.ClientScript.GetPostBackEventReference(btnSearch, String.Empty) %>;
},
Cancel: function() {
$(this).dialog('close');
}
}
});
dlgSearch.parent().appendTo($("form:first"));
这可以很好地工作。但是,现在我在浏览器上渲染了两个搜索按钮。使用标记呈现的原始按钮和使用jquery对话框实例化呈现的按钮。我想去掉用服务器端标签呈现的那个,只使用jquery。
问题是,如果删除标记,就会因为控件btnSearch不再存在而在GetPostBackEventReference调用时出现编译错误。
我总是可以用CSS设置btnSearch的样式并使其显示:无,但这似乎是一种解决问题的肮脏方法。
难道没有一种方法可以调用服务器端方法而不将其绑定到控件事件吗?请注意,我不想要ajax回调方法,我需要一个真正的回发。
发布于 2012-08-15 00:03:27
在客户端使用这个:__doPostBack("SearchDialog", "");
,在服务器上使用这个:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack && Request.Form["__EVENTTARGET"] == "SearchDialog")
{
//your code here
}
}
https://stackoverflow.com/questions/11955997
复制相似问题