我看起來像這樣的一些動態按鈕: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