gridview EnableViewState="false" to no<form ranat="server"></form> 联想到apsx页面最快的读取数据库中的数据[注:代码生成器生成工厂模式测试的无聊总结,可能对你有点用哦]

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.看到的结果为:

posted @ 2013-01-15 01:12  MisterLip  阅读(206)  评论(0编辑  收藏  举报