2013-07-07 2 views
0

부모 DetailsView 컨트롤이 있고 InsertTemplate에 로그인하지 않은 사용자가 삽입하지 못하도록 LoginView이 있습니다.DetailsView가 LoginView 내에있는 값을 가져올 수 없습니다.

DetailsView_Inserting 이벤트의 값을 포착 할 때, 모든 값은 null입니다! I는 LoginView 제어를 추가 할 때 문제가 시작

e.Values["title"] = Server.HtmlEncode(e.Values["title"].ToString()); 

오른쪽에 e.Values["title"]

널이다.

컨트롤을 수동으로 찾아서 해결할 수 있다고 생각하지만 컨트롤에서 값을 찾지 못하게하는 트릭 방법이 있습니까?

마크 업 :

<asp:DetailsView ID="dtlContent" ...........> 
<Fields> 
<asp:TemplateField> 
<InsertItemTemplate> 
    <asp:LoginView runat="server" ID="loginView"> 
    <AnonymousTemplate> 
     <p>You should login first!</p> 
    </AnonymousTemplate> 
    <LoggedInTemplate> 
     <table> 
     <tr> 
      <td>Title:</td> 
      <td><asp:TextBox Width="100%" ID="txtTitle" runat="server" Text='<%# Bind("title") %>'></asp:TextBox> 

     </tr> 
     </table> 
    </LoggedInTemplate> 
    </asp:LoginView> 
</InsertItemTemplate> 
</asp:DetailsView> 

답변

0

당신이 사용해야의 FindControl :

TextBox TXTtitle= (TextBox)LoginUser.FindControl("txtTitle"); 
관련 문제