2013-10-03 92 views
0

當輸入處於asp:repeater中時,如何在ascx.cs文件中訪問HTML「input type =」checkbox「data-item =」myItems「id =」id123「」 ? 這不起作用,曲子的FindControl只system.web.ui.control工作:asp:從代碼隱藏中訪問repeateritem itemtemplate中的html元素

var checkBox = (System.Web.UI.HtmlControls.HtmlInputCheckBox)e.Item.FindControl("id123"); 



這樣的:如果我做ASP

var checkBox = (Checkbox)e.Item.FindControl("id123"); 

將工作:複選框而不是html輸入。
但是接下來的另一個問題:在asp:checkbox中,html輸入「data-」屬性的等效值是多少?

+0

你有runat =「服務器」設置在html輸入標籤? – PashaPash

回答

1

您需要在要從代碼隱藏中訪問的任何元素中包含runat="server"屬性。

2

回答到第一部分

您需要設置runat="server"上的HTML輸入。

<input type="checkbox" id="id123" data-item="myItems" runat="server"..... 

答到第二部分

您可以指定服務器控件的任何屬性,它們將被作爲噴出在生成的HTML。所以你可以有:

<asp:checkbox id="id123" data-item="myItems" runat="server".... 
+1

好點。 Marek也不理會Visual Studio給出的有關這些控件的「無效屬性」的「警告」。他們仍然會正常顯示。您可以使用帶有佔位符文本的asp:文本框來最簡單地進行測試。 – Lopsided

+0

@傾斜感謝您指出'警告'警告:)我剛剛注意到,您首先打敗了我。對你的答案+1。 – Abhitalks

相關問題