如何在网格视图中保留控件的状态,并在 asp.net 中分页
How do i preserve the state of a control inside gridview with paging in asp.net?
我在此网格视图中添加了文本框的验证,但此验证仅适用于 GridView 的当前页面(它不适用于 GridView 的上一页和下一页)。
<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>
代码隐藏:
btnAddDM.Attributes.Add("onclick", "return IsValidateAdd();");
当您浏览上一页或下一页时,网格视图部分已更改,但javascript函数已绑定到原始网格视图,这就是它不起作用的原因。
如果你想让它工作,有2种解决方案
1,当您导航到其他页面时,再次手动绑定javascript验证功能。
2,将客户端单击属性添加到文本框控件中,例如
<asp:TextBox ID="txtSize" runat="server" Width="100px" onClientClick="validateGridTextBox(this)"></asp:TextBox>
并相应地更改您的 validateGridTextBox JavaScript 函数。
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 需要在悬停时激活动作,并在7秒内返回到原始状态
- 如何在第一次点击时突出显示链接;并在第二次单击时跟随它,除非在其他地方单击,然后重新初始化未高亮显示的状态
- 在AngularJS中切换编辑状态并更改项目'单击另一个函数
- 当用户单击子菜单并在新页面中打开时,子菜单将保持活动状态
- JS弹出窗口打开并在另一个页面上检查其状态
- 如何在网格视图中保留控件的状态,并在 asp.net 中分页
- 检查申请状态,并在可用时继续
- 捕获D3库创建的可视化并将状态存储在DB中
- 如何在g元素中选择特定元素并在D3.js中更改其状态
- 检测浏览器窗口是否处于活动状态,并在窗口再次处于活动状态后启动事件[JavaScript]
- 如何选中所有复选框并在分页过程中保持选中状态
- 从一个子节点更改parent's状态,并在另一个子节点react-native中使用它
- 如何判断浏览器/选项卡是否处于活动状态,并在用户离开时调低音量
- 从内容脚本传递文件对象到后台.js或传递 createObjectURL(并在刷新后保持活动状态)
- 在twilio中使用javascript将调用者置于保持状态并从保持状态中检索
- 如何获得状态并在状态更改时引发事件
- Highcharts: set 'select'在一个点上状态并在鼠标悬停后保持它
- 如何改变滑块的鼠标上下触发振荡器的音调,并在使用Javascript和Web音频API的鼠标up事件后保留状态
- 如何使不同的动画在同一页面上独立开始悬停,并在鼠标离开的原始状态与JQuery动画