asp.net按钮postbackurl从每个按钮调用

时间:2014-07-30 07:17:05

标签: c# asp.net .net web

在asp.net表单网站中,我有一个带有postpack url的按钮:

mailBUtton.PostBackUrl = "mailto:..."

正如所料,单击该按钮可打开本地电子邮件软件,但如果在单击mailButton后单击页面上的其他按钮,则会忽略第二个按钮的onClick事件,而不是onClick事件,调用mailButton的PostBackUrl。 这些行为的原因是什么?

这是mailButton:

<asp:Button ID="mailButton" runat="server" Text="Neuer Beitrag" ></asp:Button>

这是第二个按钮:

<asp:Button ID="btnSpeichern" runat="server" Text="Speichern" OnClick="btnSpeichern_Click"/>

这个代码背后的事件:

protected void btnSpeichern_Click(object sender, EventArgs e)
{
    speichern(false);
}

1 个答案:

答案 0 :(得分:0)

根据w3schools,按钮的PostBackUrl

  

指定要发布到的页面的URL的字符串。默认为空字符串,这会导致页面回发给自己

因此,当您点击mailButton时,您将PostBackUrl页面设置为mailto:...。通过单击第二个按钮,将执行回发,现在调用mailto:网址而不是原始网址,其中也没有btnSpeichern_Click方法。

您可以执行以下操作,而不是使用按钮和PostBackUrl

<asp:HyperLink runat="server" NavigateUrl="mailto:abc@abc.com" Text="abc@abc.com"></asp:HyperLink>

如果您希望链接显示为按钮,则可以在css中执行此操作。

Here是使用mailto的更多方法。