在复选框的 AutoPostBack 之前执行 js
Executing js before AutoPostBack of checkbox
NET 4 和 asp 复选框,它在用户控件内自动 post 返回,我需要在自动 post 返回发生之前调用 js。
编辑 InputAttributes 的 onclick 属性没有帮助。它不允许我那样做。
尝试注册提交事件或启动脚本,但没有帮助。除非有一种方法可以在单击或取消单击复选框时在提交时注册。这个还没找到当我在提交时注册时,只要页面上发生任何事情,我的函数就会被调用。
不想为此开始在我的页面上包含 jquery。
我最后的选择是在没有 AutoPostBack 的情况下在 js 中提交表单,但是我希望使用提交时注册或注册启动的解决方案而不是这个。我想与我的代码保持一致。
谢谢
-P
您可以 use/override OnPreRender(Eventargs e){} 方法来处理附加功能。如果 AutoPostBack 为真,它会注册客户端脚本以在客户端呈现之前生成 post-back 事件。
例如:您有一个 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";
}
}
clickMe() 应该在脚本块的 .ascx 文件中定义。
function clickMe() {
alert("SCRIPT RAN FIRST");
}
现在,如果您点击复选框,脚本代码将首先执行,然后 post返回代码(如果有的话)
这应该有所帮助。
NET 4 和 asp 复选框,它在用户控件内自动 post 返回,我需要在自动 post 返回发生之前调用 js。
编辑 InputAttributes 的 onclick 属性没有帮助。它不允许我那样做。
尝试注册提交事件或启动脚本,但没有帮助。除非有一种方法可以在单击或取消单击复选框时在提交时注册。这个还没找到当我在提交时注册时,只要页面上发生任何事情,我的函数就会被调用。
不想为此开始在我的页面上包含 jquery。
我最后的选择是在没有 AutoPostBack 的情况下在 js 中提交表单,但是我希望使用提交时注册或注册启动的解决方案而不是这个。我想与我的代码保持一致。
谢谢 -P
您可以 use/override OnPreRender(Eventargs e){} 方法来处理附加功能。如果 AutoPostBack 为真,它会注册客户端脚本以在客户端呈现之前生成 post-back 事件。
例如:您有一个 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";
}
}
clickMe() 应该在脚本块的 .ascx 文件中定义。
function clickMe() {
alert("SCRIPT RAN FIRST");
}
现在,如果您点击复选框,脚本代码将首先执行,然后 post返回代码(如果有的话) 这应该有所帮助。