代码之家  ›  专栏  ›  技术社区  ›  Crescent Fresh

回发URL在HTML按钮上不可用

  •  5
  • Crescent Fresh  · 技术社区  · 15 年前

    我们目前正在使用 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))" />
    

    我们想换成普通的 <button runat="server"> ( easier to style 然而 后置URL 它们不支持。

    所以我想:如果在我的 <button> 元素?

    <button runat="server" name="ctl03"
        onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ctl03', '', false, '', 'processing.aspx', false, true))">
    </button>
    

    还有Waddayaknow,它起作用了。

    以前有人见过这样做吗?如果我继续这样做,我或我的孩子会受到什么伤害?

    2 回复  |  直到 15 年前
        1
  •  5
  •   Canavar    15 年前

    有趣的问题,我刚看了客户的脚本 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>
    
        2
  •  0
  •   Zhaph - Ben Duguid    15 年前

    “可能不会”,但您依赖的是ASP.NET JavaScript的实现细节,这些细节可能会随着时间的推移而变化。

    老实说,我没有意识到有一个“button”HTML元素。