gridview EnableViewState="false" to no<form ranat="server"></form> 联想到apsx页面最快的读取数据库中的数据[注:代码生成器生...

本文详细阐述了在ASP.NET环境下,如何通过优化GridView组件实现数据绑定及跨页面数据传递,包括设置ViewState属性避免状态堆积、在CS代码中传递集合至ASPx页面,并在页面上高效展示数据的方法。

1.绑定gridview。

LiP.BLL.UserInfo userInfo = new LiP.BLL.UserInfo();
List<LiP.Model.UserInfo> list = userInfo.GetModelList("");
//gv.DataSource = list;
//gv.DataBind();

~~~

<asp:GridView runat="server" ID="gv" EnableViewState="False">
</asp:GridView>

其中aspx上产生了一坨的viewstate,所以用上了 EnableViewState="False"。但是即使

<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="false" CodeBehind="Default.aspx.cs"
Inherits="LiP.Web.Default" %>,还是存在一点点

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTQyMjA5NDc0MWRkyo0prgDLACpOSBqMvyagMVP/oiAB7rgeq3rY407mFfY=" />,所以就去掉了

    <form runat="server"></form>

2.第二步从cs文件传一个字段: 

 protected List<LiP.Model.UserInfo> lisForeach = null;

Page_Load();方法中写上:

LiP.BLL.UserInfo userInfo = new LiP.BLL.UserInfo();
List<LiP.Model.UserInfo> list = userInfo.GetModelList("");
//gv.DataSource = list;
//gv.DataBind();
lisForeach = list;

这样就吧lisForeach字段传到aspx页面上了,在aspx页面上处理如下:

<table cellpadding="0" cellspacing="0" border="1px" bordercolor="red">
<tr>
<td>
ID
</td>
<td>
UName
</td>
<td>
Sex
</td>
<td>
Age
</td>
</tr>
<% for (int i = 0; i < lisForeach.Count; i++)
{
%>
<tr>
<td>
<%=((LiP.Model.UserInfo)lisForeach[i]).ID%>
</td>
<td>
<%=((LiP.Model.UserInfo)lisForeach[i]).UName%>
</td>
<td>
<%=((LiP.Model.UserInfo)lisForeach[i]).Sex%>
</td>
<td>
<%=((LiP.Model.UserInfo)lisForeach[i]).Age%>
</td>
</tr>
<% } %>
</table>

这样在浏览器上就看不到一坨没用的东西了!

3.但是看到下面shit色的代码,感觉还是在server上运行了,感觉还是不爽!想想,是我太苛刻了吧,嗯,这样也挺好的!

4.看到的结果为:

转载于:https://www.cnblogs.com/LpRightNow/archive/2013/01/15/2860530.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值