2012-07-09 44 views
2

如何獲得templateField標籤內的文本框值?獲取templateField標籤內的文本框值?

這裏是我的代碼:

<Fields> 
    <asp:TemplateField > 
    <ItemTemplate > 
    <asp:TextBox ID="SUBJEK" runat="server" Width="600px" Text='<%# Bind("SUBJEK") %>' /> 
    </ItemTemplate> 
    </asp:TemplateField> 
    </Fields> 

,我嘗試用得到的值:

TextBox subjek = (TextBox)DV1.FindControl("SUBJEK") as TextBox; 

但是,它沒有工作。此錯誤消息:

「無法將類型‘System.Web.UI.Control’到‘JobList.TextBox’」

+0

你能告訴什麼是DV1? – Adil 2012-07-09 11:40:18

+0

DV1是detailsView控件的ID ... 任何想法? – guurnita 2012-07-09 12:53:06

回答

2

您的名字空間中有另一個名爲TextBox的類。

檢查,JobList.TextBox不是asp.net文本框。

這應有助於:

var subjek = (TextBox)DV1.FindControl("SUBJEK") as System.Web.UI.WebControls.Textbox; 
+0

工作列表是我的proyek包... – guurnita 2012-07-09 13:16:50

+0

是的,我想了一下。當兩個類具有相同的名稱時,可以使用名稱空間來區分。 – nunespascal 2012-07-09 13:21:51

+0

嘿,,,它的工作!謝謝@nunespascal ... 這是我的最終代碼: System.Web.UI.WebControls.TextBox subjekT =(System.Web.UI.WebControls.TextBox)DV1.FindControl(「SUBJEK」 )作爲System.Web.UI.WebControls.TextBox; 但我不知道爲什麼它的工作?你能告訴我嗎? – guurnita 2012-07-09 13:27:39

0

FindControl方法返回的控制的array不是一個單一的控制,所以你需要提及index

TextBox subjek = DV1.FindControl("SUBJEK")[0] as TextBox; 
+0

它仍然沒有工作.. 繼承人錯誤消息「不能應用索引與[]到一個'System.Web.UI.Control'類型的表達式'」 任何想法? – guurnita 2012-07-09 11:30:18

2

你必須去到小區尋找控制,提供行索引和列索引

int indexOfRowYouAreFinding = 0; 
int indexOfColYouAreFinding = 2; 

TextBox subjek = DV1.Rows[indexOfRowYouAreFinding].Cells[indexOfColYouAreFinding].FindControl("SUBJEK")[0] as TextBox; 
+0

它仍然沒有工作..繼承人的錯誤消息「無法將索引與[]應用於'System.Web.UI.Control'類型的表達式... – guurnita 2012-07-09 13:08:57

+0

將無法​​正常工作,你有你自己的類叫'文本框' 。看看我的回覆是否有幫助。 – nunespascal 2012-07-09 13:11:09

0

有在細節上多行查看,所以你必須給該行的索引從中選擇文本框的值。 TextBox t= (TextBox)DV1.Rows[0].FindControl("SUBJEK");

此代碼將返回第一行的值。

+0

did not work .. 「」無法將類型'System.Web.UI.Control'轉換爲'JobList.TextBox'「 我認爲問題是一個鑄造方法TextBox ...是這是鑄造TextBox的唯一方法? – guurnita 2012-07-09 13:17:28

+0

可以請你發佈你的完整的代碼與詳細信息視圖,以便我們可以更好地瞭解 – 2012-07-09 13:21:47