GridView 中的数据绑定表达式

Data Binding Expression in GridView

是否可以在用户控件的 ASP.NET GridView 中为 ValidationGroup 添加数据绑定表达式?

代码:

<asp:GridView ID="grdData" runat="server" Width="100%">
    <Columns>
        <asp:TemplateField ShowHeader="False">
             <FooterTemplate>
                   <asp:ImageButton ValidationGroup="Validation<%# ServerSidePublicProperty%>" ID="lbInsert" runat="server" CausesValidation="True" CommandArgument="Insert" CommandName="Insert"  ></asp:ImageButton>
              </FooterTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

我在一个页面中有多个用户控件实例,因此我必须使用 ServerSidePublicProperty.

为 ValidationGroup 添加唯一值

是的。请参见下面的演示。但基本上你只是使用一个数据绑定表达式 <%# %>。 在此演示中,2 列具有不同的 ValidationGroup,因此页脚中的每个按钮仅验证该列。

<asp:GridView ID="GridView100" runat="server" AutoGenerateColumns="false" ShowFooter="true" Visible="true" Width="100%">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>

                <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("DBColumnA") %>'></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ValidationGroup='<%# "Validation_" + ServerSidePublicProperty1 %>' ControlToValidate="TextBox1" ErrorMessage="Error1"></asp:RequiredFieldValidator>
          
            </ItemTemplate>
            <FooterTemplate>

                <asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup='<%# "Validation_" + ServerSidePublicProperty1 %>'/>

            </FooterTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <ItemTemplate>

                <asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("DBColumnB") %>'></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ValidationGroup='<%# "Validation_" + ServerSidePublicProperty2 %>' ControlToValidate="TextBox2" ErrorMessage="Error2"></asp:RequiredFieldValidator>

            </ItemTemplate>
            <FooterTemplate>

                <asp:Button ID="Button2" runat="server" Text="Button" ValidationGroup='<%# "Validation_" + ServerSidePublicProperty2 %>'/>

            </FooterTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>