2012-07-17 5 views
0

중첩 된 중계기 내부의 텍스트 상자에서 새 값을 가져 오는 데 문제가 있습니다. 이 정적 속성 값을 Text 속성에 입력하면 : 새 값이 아닌 값을 가져올 수 있습니다.대화 상자에서 중첩 된 중계기의 값 가져 오기

<ItemTemplate> 
    <tr> 
     <td width="160"> 
      <%# Eval("index")%> 
     </td> 
     <td> 
      <%# Eval("Sex") %> 
     </td> 
     <td align="right"> 
      <button id="EditPuppy" class="open-dialog" runat="server"> 
       Rediger hvalp</button> 
      <juice:Button TargetControlID="EditPuppy" runat="server" /> 
     </td> 
     <td align="right" width="30"> 
      <asp:ImageButton runat="server" ID="DeletePuppy" CommandArgument='<%# Eval("dogid").ToString() %>' 
       OnClientClick='return confirm("Er du sikker på at du gerne vil slette denne hvalp?")' 
       OnCommand="DeletePuppy_Command" SkinID="DefaultDeleteButton" /> 
     </td> 
    </tr> 
    <div id="_Default" runat="server" class="basic-dialog" title="Basic dialog" runat="server"> 
     <asp:TextBox runat="server" ID="TextBoxPuppyName" Text="HEJ" /><!-- The textbox i am trying to get the value from --> 
     <asp:Button UseSubmitBehavior="false" runat="server" ID="ButtonPuppyName" CommandArgument="<%# ((RepeaterItem)Container.Parent.Parent).ItemIndex %> <-- Getting parent repaterid" 
      CommandName="<%# Container.ItemIndex %> <-- Getting current repeater index -->" 
      OnCommand="ButtonPuppyName_Command" Text="Opdater" /> 
    </div> 
    <juice:Dialog TargetControlID="_Default" AutoOpen="false" runat="server" /> 
</ItemTemplate> 

Codebehind가 : 당신의 도움에 대한

protected void ButtonPuppyName_Command(object sender, CommandEventArgs e) { 
    int parentRepeaterItemIndex = Convert.ToInt32(e.CommandArgument); 
    int childRepeaterItemIndex = Convert.ToInt32(e.CommandName); 
    Repeater childReapter = (Repeater)RepeaterShowKuldUserList.Items[parentRepeaterItemIndex].FindControl("RepeaterShowKuldPuppyList"); 
    TextBox name = (TextBox)childReapter.Items[childRepeaterItemIndex].FindControl("TextBoxPuppyName"); 
    HttpContext.Current.Response.Write(name.Text); 
} 

감사합니다! "정적"값을 얻을 수 있기 때문에 중계기에 들어가는 것을 기억하십시오.

답변

0

repeater.DataBind (페이지가로드 중입니까?)을 호출하려고하면 IsPostBack을 호출 한 다음 데이터를 바인딩하십시오. ...

다른 옵션은 viewstate가이 = 거짓이 ..이 도움이

희망, 이

를 실행 "true"를해야한다는 것입니다
관련 문제