在AutoPostBack复选框之前执行js

时间:2015-08-31 16:52:21

标签: javascript asp.net checkbox scriptmanager

NET 4和asp复选框,它在用户控件内自动回发,我需要在发生自动回复之前调用js。

编辑InputAttributes的onclick属性没有任何帮助。它不能让我这样做。

尝试注册提交事件或启动脚本,但没有任何帮助。除非在单击或未单击复选框时有一种在提交时注册的方法。 Haven还没发现这个。当我在提交时注册时,只要页面上发生任何事情,就会调用我的函数。

不想为此开始在我的页面上开始包含jquery。

我的最后一个选择是在没有AutoPostBack的情况下以js形式提交表单,但是会喜欢在提交或注册启动时使用Register而不是这个的解决方案。我希望与我的代码保持一致。

由于 -P

1 个答案:

答案 0 :(得分:0)

您可以使用/覆盖 OnPreRender(Eventargs e){} 方法来处理其他功能。如果AutoPostBack为true,它会在客户端上呈现之前注册客户端脚本以生成回发事件。

例如:您有一个asp复选框,定义为

<asp:CheckBox ID="chkBox" runat="server" Text="Check this box" AutoPostBack="True"/>

在.cs文件中

protected override void OnPreRender(EventArgs e) 
        {
            base.OnPreRender(e);
            chkBox.Attributes["onChange"] = "clickMe();";
        }

protected void Page_Load(object sender, EventArgs e)
        {
            if(IsPostBack){
                chkBox.Text = "After Post Back";
            }
        }
应在脚本块中的.ascx文件中定义

clickMe()

function clickMe() {
            alert("SCRIPT RAN FIRST");
        }

现在,如果单击复选框,脚本代码将首先执行,然后是回发代码(如果有的话) 这应该有所帮助。