我正在将我的搜索功能移动到一个 jquery 对话框中。
本来我有
使用以下搜索框按姓氏定位
搜索方式: 搜索
我添加了以下 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"));
这工作正常。但是现在我向浏览器呈现 2 个搜索按钮。使用标签呈现的原始按钮,以及使用 jquery 对话框实例化呈现的按钮。我想摆脱使用服务器端标签呈现的标签,只使用 jquery 标签。
问题是,如果我删除标记,我会在 GetPostBackEventReference 调用中收到编译错误,因为控件 btnSearch 不再存在。
我总是可以使用 CSS 设置 btnSearch 的样式并使其显示:无,但这似乎是解决问题的一种肮脏方式。
有没有一种方法可以调用服务器端方法而不将其绑定到控件事件?请注意,我不想要 ajax 回调方法,我实际上需要回发。