asp.net - PostBackUrl 在 Html 按钮上不可用

标签 asp.net javascript postback

我们目前正在使用 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(&quot;Button2&quot;, &quot;&quot;, false, &quot;&quot;, &quot;processing.aspx&quot;, false, true))">
</button>

关于asp.net - PostBackUrl 在 Html 按钮上不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1291560/

相关文章:

javascript - 从网站提交另一个网站提交按钮

javascript - 如何在单击标记时仅显示一个信息窗口?

c# - 带有 C# 的 ASP.net 在回发时保留列表

javascript - 在 JQuery 中选择具有单个类的元素

php - C++ | Winsock - 为上传文件编写 HTTP Post 的正确方法?

javascript - 停止 select.change 回发

asp.net - ASP.NET MVC-验证路由的存在

c# - ConfigurationManager.AppSettings 越来越空?

asp.net - 在使用 ASP .NET 5 RC1 进行开发期间注意更改并重新加载 Kestrel

javascript - promise reject not working with mysql 错误