表单按钮导航

时间:2015-03-26 17:11:01

标签: asp.net

我有什么理由不能这样做

<asp:Button runat="server" ID="Btn1" OnClick='<%# Response.Redirect("wibble.aspx?ID=" + Eval("ID")) %>'/>

我收到编译错误: The best overloaded method match for 'System.Convert.ToString(object, System.IFormatProvider)' has some invalid arguments

我很欣赏我可以在例程后面创建一个代码来处理重定向,但我希望能够动态创建这些类型的按钮。

我可以使用<asp:HyperLink>并使用NavigateUrl属性工作正常,但为什么我不能使用按钮执行此操作?

2 个答案:

答案 0 :(得分:1)

您可以改用OnClientClick属性。这样您就可以为onclick HTML属性添加Javascript代码。

<asp:Button runat="server" ID="Btn1" OnClientClick="window.location ='wibble.aspx?ID=<%# Eval("ID")).ToString() %>"/>

答案 1 :(得分:0)

你不能这样做,因为它会在浏览器中以html的形式呈现为[type = submit],而对于html,当你点击按钮时它不是重定向的功能。

如果您有按钮中有超链接的请求,ASP.net会提供linkbutton控件,这将解决您的需求。

<asp:linkbutton PostBackUrl="~/something.aspx?id=1" runat="server">LinkButton</asp:linkbutton>