NET 4和asp复选框,它在用户控件内自动回发,我需要在发生自动回复之前调用js。
编辑InputAttributes的onclick属性没有任何帮助。它不能让我这样做。
尝试注册提交事件或启动脚本,但没有任何帮助。除非在单击或未单击复选框时有一种在提交时注册的方法。 Haven还没发现这个。当我在提交时注册时,只要页面上发生任何事情,就会调用我的函数。
不想为此开始在我的页面上开始包含jquery。
我的最后一个选择是在没有AutoPostBack的情况下以js形式提交表单,但是会喜欢在提交或注册启动时使用Register而不是这个的解决方案。我希望与我的代码保持一致。
由于 -P
答案 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");
}
现在,如果单击复选框,脚本代码将首先执行,然后是回发代码(如果有的话) 这应该有所帮助。