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>
是否可以在用户控件的 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
.
是的。请参见下面的演示。但基本上你只是使用一个数据绑定表达式 <%# %>
。
在此演示中,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>