2014-06-10 48 views
1

我正在使用asp,並有一些文本框,我想從後面的代碼中設置值。下面的代碼被封裝在一個asp:DetailsView中。從後面的代碼設置文本框的值

我想和設定值的文本框是InsertTemplate則與ID = strPositionsName

<asp:TemplateField HeaderText="Name" SortExpression="strPositionName"> 
    <InsertItemTemplate> 
      <asp:TextBox ID="strPositionName" Width="380px" MaxLength="49" runat="server" Text='<%# Bind("strPositionName") %>'></asp:TextBox> 
    </InsertItemTemplate> 
    <EditItemTemplate> 
      <asp:TextBox ID="Textbox1" Width="380px" MaxLength="49" runat="server" Text='<%# Bind("strPositionName") %>'></asp:TextBox> 
    </EditItemTemplate> 
    <ItemTemplate> 
      <asp:Label ID="Label1" runat="server" Width="380px" Text='<%# Bind("strPositionName") %>'></asp:Label> 
    </ItemTemplate> 
</asp:TemplateField> 

我設法得到的值:

var testName = ((TextBox)DetailsView1.FindControl("strPositionName")).Text; 

所以我試圖用這樣的:

((TextBox)DetailsView1.FindControl("strPositionName")).Text = "textboxvalue"; 

但它沒有工作

+0

您從哪裏設置了值?哪個事件處理程序 –

回答

0

試試以下代碼

TextBox _txtPositionName=(TextBox)DetailsView1.FindControl("strPositionName"); 
if(_txtPositionName!=null) 
_txtPositionName.Text="textboxvalue"; 
+0

我認爲這可行,但有回傳 – MrProgram

相關問題