none
页面中有gridview控件和几个textbox控件,使用updatepannel局部刷新的问题 RRS feed

  • 问题

  • 页面中有gridview控件和几个textbox:
    gridview放到了updatepanel;
    textbox使用了RequiredFieldValidator。
    在gridview编辑单元格内容并点击更新时,textbox的验证事件也激发了,如何让两者的操作独立,不互相影响
    2013年2月6日 8:40

答案

全部回复

  • 照例你用RequiredFieldValidator在ItemTemplate中绑定某个TextBox是不会引发整个页面回滚刷新的。

    要不你给出全部aspx代码?


    帮助一起改进论坛质量?提交你的意见于此。
    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心

    2013年2月7日 4:30
  •     <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>
                &nbsp;排序:<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>

    2013年2月7日 6:47
  • 给TextBox3,TextBox4以及RequiredValidator,CompareValidator2(在UpdatePanel外边的),以及button1设置相同的GroupName即可。

    帮助一起改进论坛质量?提交你的意见于此。
    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心

    • 已标记为答案 Ken767 2013年2月12日 13:30
    2013年2月7日 7:08
  • 给TextBox3,TextBox4以及RequiredValidator,CompareValidator2(在UpdatePanel外边的),以及button1设置相同的GroupName即可。

    帮助一起改进论坛质量?提交你的意见于此。
    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心


    但是updatepanel中的操作实际上还是引起了整个页面的回调,要不不会激发验证,是不是这样
    2013年2月7日 7:17
    • 已标记为答案 Ken767 2013年2月12日 13:30
    2013年2月7日 7:54