2014-06-10 5 views
1

저는 ASP를 사용 중이며 코드 뒤에 값을 설정하려는 텍스트 상자가 있습니다. 아래 코드는 asp : DetailsView 내부에 래핑됩니다. 코드 상자에서 텍스트 상자의 값을 설정하십시오.

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

그래서 내가 이것을 사용하여 시도 :

내가 얻을의 설정 값하고자하는 텍스트 상자는 내가하여 값을 얻을 수 있었다 = 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> 

ID와 InsertItemTemplate입니다

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

하지만 작동하지 않았습니다.

+0

어디에서 값을 설정 했습니까? 어떤 이벤트 처리기? –

답변

0

다음 코드를 시도하십시오.

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

나는 그것이 효과가있을 것이라고 생각하지만, 포스트 백이있다. – MrProgram

관련 문제