积极答复者
页面中有gridview控件和几个textbox控件,使用updatepannel局部刷新的问题

问题
答案
全部回复
-
照例你用RequiredFieldValidator在ItemTemplate中绑定某个TextBox是不会引发整个页面回滚刷新的。
要不你给出全部aspx代码?
-
<form id="form1" runat="server"> <div style="width: 800px; margin: 0 auto;"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <span class="pageTitle">机构维护</span> <hr /> <div> <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CssClass="datatable" DataSourceID="ObjectDataSource1" AllowSorting="True" GridLines="None"> <Columns> <asp:TemplateField HeaderText="序号"> <ItemTemplate> <%# Container.DataItemIndex + 1%> </ItemTemplate> <HeaderStyle CssClass="first" Width="50px" /> <ItemStyle CssClass="first" Width="50px" /> </asp:TemplateField> <asp:TemplateField HeaderText="单位名称" SortExpression="UnitName"> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("UnitName") %>'></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="*" ForeColor="Red">*</asp:RequiredFieldValidator> </EditItemTemplate> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("UnitName") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="排序" SortExpression="SortIndex"> <EditItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("SortIndex") %>'></asp:TextBox> <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="TextBox2" ErrorMessage="*" ForeColor="Red" Operator="DataTypeCheck" Type="Integer">*</asp:CompareValidator> </EditItemTemplate> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Bind("SortIndex") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:CommandField ShowEditButton="True" /> <asp:TemplateField> <ItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" OnClientClick='<%# "return confirm(\"确认要删除单位“"+ Eval("UnitName") +"”吗?\");" %>'>删除</asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> <RowStyle CssClass="row" /> <SortedAscendingHeaderStyle CssClass="sortasc" /> <SortedDescendingHeaderStyle CssClass="sortdesc" /> </asp:GridView> </ContentTemplate> </asp:UpdatePanel> <br /> 单位名称:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox3" ErrorMessage="不能为空" ForeColor="Red" Display="Dynamic">*不能为空</asp:RequiredFieldValidator> 排序:<asp:TextBox ID="TextBox4" runat="server" Width="20px"></asp:TextBox> <asp:CompareValidator ID="CompareValidator2" runat="server" ControlToValidate="TextBox4" ErrorMessage="必须为整数" ForeColor="Red" Display="Dynamic">*必须为整数</asp:CompareValidator> <asp:Button ID="Button1" runat="server" Text="添加单位" /> </div> </div> </form>
-
给TextBox3,TextBox4以及RequiredValidator,CompareValidator2(在UpdatePanel外边的),以及button1设置相同的GroupName即可。
- 已标记为答案 Ken767 2013年2月12日 13:30
-
给TextBox3,TextBox4以及RequiredValidator,CompareValidator2(在UpdatePanel外边的),以及button1设置相同的GroupName即可。
但是updatepanel中的操作实际上还是引起了整个页面的回调,要不不会激发验证,是不是这样 -
- 已标记为答案 Ken767 2013年2月12日 13:30