微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-asp.net-使用js执行AsyncPostBack

我在以下情况下花费了将近3个小时:

>我想从JavaScript触发AsyncPostBack,但也能够发送相同的参数,因为我需要在服务器端使用它.

我已经尝试了很多情况,但是找不到清晰的示例.

我有一个更新面板,当我按下其中的特定图像按钮时,会显示一些弹出窗口. (弹出窗口最初是隐藏的,当请求完成时,display:none被删除=>看起来很好)

 function BeginRequestHandler(sender, args) {
    }
    function EndRequestHandler(sender, args) {
        document.getElementById('popup').style.display = '';
        document.getElementById('overlay').style.display = '';

    }

好吧,问题在于我需要制作一个js函数来执行asyncPostBack,因为在单击该控件的某些部分时会从Flash控件中调用此js函数,因此我想模拟对图像的单击. (因为单击该弹出窗口,如您在上面看到的那样显示)

问题是我找不到任何这样的例子.此js函数将接收一个参数,因此当我执行回发时,我希望能够在服务器端获取该参数. (此参数似乎是主要问题=-在执行回发时如何将其发送到服务器?).

抱歉,如果我不太清楚,但是您能给我一些有关此示例的文档吗?

非常感谢!

更新:
请注意,我已经完成的第一种情况是在UpdatePanel中使用ImageButton:

<asp:ImageButton ID="lnkDetails" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "logo") %>'
                            AlternateText='<%# DataBinder.Eval(Container.DataItem, "Name") %>' OnCommand="lnkDetails_Command"
                            CommandArgument='<%# DataBinder.Eval(Container.DataItem, "TenantID") %>' Text="Click">
                        </asp:ImageButton></li>

我只需要使用JavaScript来“模拟”此点击,以使异步回发(因为当我从Flash调用时,Flash控制会调用我的js方法进行回发)

解决方法:

这应该工作得很好:

<asp:ImageButton ID="ImageButton1" runat="server" OnClientClick='return doSomething(<%#Eval("SomeValue")%>);' />

编辑:尝试用以下方法包装您的JavaScript函数

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function () {
    doSomething = function(argument){
        __doPostBack("<%=ImageButton1.ClientID%>", argument);
        return true; //don't kNow if you need this
    }
});

编辑:检查您的ScriptManager并确保将EnablePartialRendering设置为true.

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" ... />

在后面的代码中:

protected override void RaisePostBackEvent(IPostBackEventHandler source, string eventArgument)
{
    //call the RaisePostBack event 
    base.RaisePostBackEvent(source, eventArgument);

    if (source == ImageButton1)
    {
        string arg = eventArgument;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐