你不应该使用这个NavigateUrl
属性,那是一个 URL ......使用这个:
<asp:HyperLink ID="displayImg" runat="server"
PostBackUrl="#"
onclick="showImg('<%# FieldValue %>');return false;">
Preview</asp:HyperLink>
当您使用 ASP.NET 控件时,您需要坚持它们的功能,但请记住,您始终可以使用默认的 HTML 控件,在此示例中:
<input type="button" onclick="showImg('<%# FieldValue %>')" value="Preview" />
即使你想使用它,在你的代码隐藏文件中,只需添加一个runat="server"
,然后你就可以找到使用它的控件ID
。
这里有3种方法:
<a href="#" onclick="alert('hi!')">Preview 1</a>
<asp:HyperLink runat="server" NavigateUrl="#" onclick="alert('hi!')">Preview 2</asp:HyperLink>
<asp:LinkButton runat="server" PostBackUrl="#" OnClientClick="alert('hi!')">Preview 3</asp:LinkButton>
这将呈现:
<a href="#" onclick="alert('hi!')">Preview 1</a>
<a onclick="alert('hi!')" href="#">Preview 2</a>
<a onclick="alert('hi!');" href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContent$ctl01", "", false, "", "#", false, true))'>Preview 3</a>
最后一个选项,它将始终 POST。
很简单,选择最好的方式来完成它,他们都这样做。