首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用asp.net中的分页功能在网格视图中保留控件的状态?

如何使用asp.net中的分页功能在网格视图中保留控件的状态?
EN

Stack Overflow用户
提问于 2013-09-27 20:27:31
回答 1查看 959关注 0票数 2

我已经在此GridView中添加了TextBox的验证,但此验证仅在GridView的当前页面上有效(在GridView的上一页和下一页上不起作用)。

代码语言:javascript
运行
复制
<asp:GridView ID="Grd1" runat ="server" Width ="100%" AllowPaging ="true" pagesize="5">
  <Columns>
    <asp:BoundField HeaderText="Name" DataField="NM" ItemStyle-Width="300px" HeaderStyle-Width="300px" HeaderStyle-Wrap="false" ItemStyle-Wrap="false" />
    <asp:TemplateField HeaderText="Size (GB)">
      <ItemTemplate>
        <asp:TextBox ID="txtSize" runat="server" Width="100px"></asp:TextBox>
      </ItemTemplate>
    </asp:TemplateField>
  </Columns>
</asp:GridView>

<asp:Button ID="btnAdd" runat="server" Text="Save" OnClick="btnAdd_Click" />

<script language="javascript" type="text/javascript">
    function IsValidateAdd() {
        if (validateGridTextBox() == false)
            { return false; }
    }

    function validateGridTextBox() {
        var flag = false;
        var dropdowns = new Array(); //Create array to hold all the dropdown lists.
        var gridview = document.getElementById('<%=Grd1.ClientID %>'); //grvDMODetails is the id of ur gridview.

        dropdowns = gridview.getElementsByTagName('input'); //Get all dropdown lists contained in Grd1.            
        for (var i = 0; i < dropdowns.length; i++) {
            if (dropdowns.item(i).value != "") //If dropdown has no selected value
            {
                flag = true;
            }
            else 
            {
                flag = false;
                break;
            }
        }

        if (flag == false) 
        {
            alert('Please enter Table Size.');
            return flag;
        }

</script>

代码隐藏:

代码语言:javascript
运行
复制
btnAddDM.Attributes.Add("onclick", "return IsValidateAdd();");
EN

回答 1

Stack Overflow用户

发布于 2013-09-29 17:35:51

当您在上一页或下一页中导航时,网格视图部分发生了更改,但javascript函数被绑定到原始网格view.this上,这就是它不起作用的原因。

如果你想让它工作,有两种解决方案

1、当您导航到其他页面时,再次手动绑定javascript验证函数。

2 .向textbox控件添加onclientclick属性,如

代码语言:javascript
运行
复制
<asp:TextBox ID="txtSize" runat="server" Width="100px" onClientClick="validateGridTextBox(this)"></asp:TextBox>

并相应地更改您的validateGridTextBox javascript函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19050772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档