0

我有一个父 DetailsView 控件,并且在InsertTemplate我有一个LoginView阻止未登录用户插入的控件。

捕获DetailsView_Inserting事件中的值时,所有值都为空!

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

e.Values["title"]右边的为空

当我添加LoginView控件时问题就开始了。

我想我可以通过手动查找控件来解决它,但是有没有一种技巧可以通过找到他的值来解决控件?

标记:

<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>
4

1 回答 1

0

你应该使用 FindControl:

TextBox TXTtitle= (TextBox)LoginUser.FindControl("txtTitle");
于 2013-09-19T17:24:37.947 回答