在跨页回发之前调用javascript OnClientClick处理程序
Calling javascript OnClientClick handler before crosspage postback
我是SO的新手,也是ASP.NET的新手。
我有一个带有OnClientClick事件的LinkButton,我想在进行跨页回发之前执行一些代码。
这似乎有效——我可以从下一页中检索值——但是,当我单击"查看"时,HiddenField值被设置为"编辑"。我做了一些测试,似乎所有的javascript函数都被调用了,无论单击哪个按钮。"Edit"是最后一个值集,所以我总是从第二页检索值"Edit"。
Javascript:
function viewfunc(control) {
<% hidden.Value = "View"; %>
<% hiddenpanel.Update(); %>
return true;
}
function editfunc(control) {
<% hidden.Value = "Edit"; %>
<% hiddenpanel.Update(); %>
return true;
}
形式:
<form id="form1" runat="server">
<asp:UpdatePanel runat="server" ID="up1" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server">
<asp:GridView Id="gridview1" runat="server" AllowPaging="True">
<Columns>
// Data fields here...
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="viewlabel" runat="server" Text="View" OnClientClick="if(!viewfunc(this)) return false;" PostBackURL="~/NextPage.aspx"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="editlabel" runat="server" Text="Edit" OnClientClick="if(!editfunc(this)) return false;" PostBackURL="~/NextPage.aspx"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="hiddenpanel" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel runat="server">
<asp:HiddenField runat="server" Id='hidden' Value='Empty' />
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</form>
注意:我更喜欢将这些函数作为代码绑定函数调用,但我找不到在点击事件之后但在回发之前执行代码绑定的方法。
感谢您的任何建议!
请尝试以下操作:
function viewfunc(control) {
document.getElementById('<% hidden.ClientID %>').value = "View";
return true;
}
和
function editfunc(control) {
document.getElementById('<% hidden.ClientID %>').value = "Edit";
return true;
}
这些应该会更新您的隐藏字段,然后触发updatepanel更新事件。
当你有类似<% hidden.Value = "View"; %>
的东西时,它只会运行,Asp.net不会在意它在javascript函数中。我认为你不需要在函数完成后告诉UpdatePanel
"更新",我认为如果你不这样做,它应该可以正常工作。
相关文章:
- 从javascript调用asp.net codebehind函数
- 如何使用javascript调用Php文件
- Can用户'MediaWiki上的自定义JavaScript调用Lua模块
- 从Javascript调用Applet方法
- php javascript代码从javascript调用php函数
- 是否可以从html中的javascript调用.vbs文件
- 从javascript调用C#Web服务并使用它(json格式)
- 如何用javascript调用函数,然后在滚动事件中调用该函数的特定实例
- Sinon Spy不使用Javascript调用或应用程序
- 使用javascript调用javawebservice
- 从javascript调用服务器端的下拉列表onchange函数
- 单击按钮时,使用Javascript调用并返回值
- 函数1结束后,JavaScript调用函数2
- 对wcf服务的javascript调用
- 使用JavaScript调用Excel文件
- 从JavaScript调用JAX-WSWeb服务时参数为Null
- 从javascript调用codeigniter方法并传递数据
- 使用usinf-if语句javascript调用函数
- 通过Javascript调用php文件
- 从javascript调用flash点击事件