我看起来像这样的一些动态按钮:asp.net输入按钮的设置的onclick动态
<input type="button" name="button" id="button" value="Click me"
onclick="window.open('somelink');" />
我需要能够从代码中更改“somelink”后面。
这是怎么做的? 我知道Request.Form["button"]
获取按钮,但如何设置onlick属性?
我看起来像这样的一些动态按钮:asp.net输入按钮的设置的onclick动态
<input type="button" name="button" id="button" value="Click me"
onclick="window.open('somelink');" />
我需要能够从代码中更改“somelink”后面。
这是怎么做的? 我知道Request.Form["button"]
获取按钮,但如何设置onlick属性?
添加RUNAT =“服务器”,你可以访问代码的链接后面
<input runat="server" type="button" name="button" id="button" value="Click me"
onclick="window.open('somelink');" />
,如果你想改变的onclick属性,那么你这样做在后面的代码
button.Attributes.Add("onclick", "window.open('someOtherLink');")
这最终奏效了。谢谢 – user1468537 2012-07-05 12:57:44
年欢迎的人。 – JohnnBlade 2012-07-06 05:39:12
你可以这样做:
<asp:Button id="button" Text="Click me" OnClick="window.open('somelink');" />
和
从后面的代码
button.Attributes.Add("onclick", "window.open('somelink');");
,你可以添加任何你在的地方somelink
希望。
就是这样。
我不想回传。只需要一个按钮,将打开一个动态链接的新窗口。如果asp:button的回发可以切换(我不认为它可以),那么是的,我可以使用它。 – user1468537 2012-07-05 12:01:26
你为什么不通过<%=SomeUrl%>
内window.open
这样window.open(<%=SomeUrl%>)
已经尝试过,但它似乎永远不会被分配。就像在它的空白处,尽管我可以看到变量值是正确的。 – user1468537 2012-07-05 11:53:45
更改按钮上单击处理页面加载,而不是当表单提交时应该做的。在您从C#访问您的按钮之前,您需要添加runat="server"
。在此之后,可以访问其属性:
HTML
<input runat="server" type="button" name="button" id="button" value="Click me"
onclick="window.open('somelink');" />
C#
button.Attributes.Add("onclick", "window.open('[DynamicValueHere]');");
找不到'按钮'只适用于asp:按钮类型。我需要输入类型=按钮 – user1468537 2012-07-05 11:53:00
@ user1468537,您是否将'runat =“server”'添加到您的标记中? – 2012-07-05 11:54:07
已经尝试HtmlButton按钮= FindControl(“按钮”)作为HtmlButton; button.Attributes.Add(“onclick”,“window.open('link')”);并没有找到它。它是空的。是runat =服务器 – user1468537 2012-07-05 11:55:58
''不会回发/提交。使用'<%= %>'或'<%# %>'表达式 – adatapost 2012-07-05 11:41:25
我不需要回发。因此为什么不使用 –
user1468537
2012-07-05 11:44:13