我们目前正在使用 PostBackUrl
执行跨页回发的 asp:Button
:
<asp:Button runat="server" PostBackUrl="processing.aspx" />
生成此 javascript onclick
东西:
<input type="submit" name="ctl03"
onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ctl03', ', false, ', 'processing.aspx', false, false))" />
我们想将其切换为使用普通 ol' <button runat="server">
( easier to style ) 然而 PostBackUrl
他们不支持。
所以我想:如果在我的 <button>
中简单地使用所说的 JavaScript 会怎么样?元素?
<button runat="server" name="ctl03"
onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ctl03', '', false, '', 'processing.aspx', false, true))">
</button>
waddayaknow,它有效。
有没有人以前见过这种做法?如果我继续这样做,会对我或我的 child 造成什么伤害?
最佳答案
有趣的问题,我刚刚看了 ClientScript 的 GetPostBackEventReference方法和这里我得到的:
ASP.NET 页面上的按钮:
<button id="Button2" runat="server" name="Button2"></button>
在代码隐藏处:
PostBackOptions postBackOptions = new PostBackOptions(Button2);
postBackOptions.ActionUrl = "processing.aspx";
Button2.Attributes.Add("onclick",
ClientScript.GetPostBackEventReference(postBackOptions));
渲染结果:
<button id="Button2" name="Button2"
onclick="WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Button2", "", false, "", "processing.aspx", false, true))">
</button>
关于asp.net - PostBackUrl 在 Html 按钮上不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1291560/