首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从jquery对话框调用服务器端方法

从jquery对话框调用服务器端方法
EN

Stack Overflow用户
提问于 2012-08-14 23:42:37
回答 1查看 910关注 0票数 1

我正在将我的搜索功能转移到jquery对话框中。

最初我有

代码语言:javascript
运行
复制
         Use the following search box to located by Last Name            
代码语言:javascript
运行
复制
           Search By:                                               Search             

我添加了以下javascript:

代码语言: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回调方法,我需要一个真正的回发。

EN

回答 1

Stack Overflow用户

发布于 2012-08-15 00:03:27

在客户端使用这个:__doPostBack("SearchDialog", "");,在服务器上使用这个:

代码语言:javascript
运行
复制
protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack && Request.Form["__EVENTTARGET"] == "SearchDialog")
    {
         //your code here
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11955997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档