ASP.NET页面传值_第三篇_ViewState
+++ 页面代码如下:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
+++ 后台代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
ViewState["name"] = TextBox1.Text.Trim().ToString();
ViewState["email"] = TextBox2.Text.Trim().ToString();
Response.Write("姓名:" + ViewState["name"].ToString() + "</br>" +
"电子邮件:" + ViewState["email"].ToString());
}
+++ 说明
(1) 所谓“ViewState[]”,在ASP.NET中,所有新创建的页面默认情况下都会继承System.Web.UI.Page类,这个类有个属性——“ViewState[]”,它用来在你对同一个页面的多次请求中,保存服务器控件的状态。
(2) 我们都知道,客户端每次向服务器请求页面,页面都会被重新刷新,这意味着,你之前的页面里的东西就会消失,但如果你想保存某些信息,怎么办?那么,你可以将想要保存的信息放在“ViewState[]”里。如果你看过别人自己写的控件,比如分页控件,你多多少少就会明白。
(2) 虽MSDN说“ViewState[]”是用来保存控件状态的,但可以把它简单地理解为保存变量、你不想丢失的变量,页面的刷新不会影响该变量的值,除非你改变它;
(3) 这种方式相当常用,它可以用来保存简单变量或是类的一个对象,尤其是保存对象,这是其他方法所不能替代的。因为,这种方式保存的值不会被刷新。
相关文档:
今早有个网友问到我这问题,以前我都是直接在数据库中存文件名的,还没有试过存储整张图片到数据库中,上网搜索了一下,自己又测试了一番,代码如下:
建立保存图片的表的SQL语句:
Sql代码 < width="14" height="15" src="javascripts/syntaxhighlighter/clipboard_new.swf" pluginspage="http://w ......
之前用的在线编辑器是DotNetTextBox ,并且曾一度觉得它异常强大,如可以给上传的图片加文字水印或者图片水印,但后来发现其上传的图片不容易管理,都挤在一个文件夹里面(免费版,付费版好像可以分文件夹上传保存图片),并且段首空格总不是所见即所得,我编辑时空了两个字符的位置,到了前台页面的时候只有一个字符,所以 ......
HttpContext.Current.Request.Url.ToString() 并不可靠。
如果当前URL为
http://localhost/search.aspx?user=http://csharp.xdowns.com&tag=%BC%BC%CA%F5
通过HttpContext.Current.Request.Url.ToString()获取到的却是
http://localhost/search.aspxuser=http://csharp.xdowns.com&tag=¼&fra ......
方法
数据量
生命期
作用域
位置
Application
任意大小
整个应用程序
所有用户
服务端
Cache
任意大小
根据需要设定
所有用户
服务端
Cookie
简单数据
根据需要设定
单个用户
客户端
Session
简单数据
用户活动时间+延迟时间(20分钟)
单个用户
服务端
Web.Config
极少改变简单数据
直到改变配 ......
例一:
+++ 第一个页面
++ 页面代码如下:
<div>
<a href="QueryString04.aspx?blog=DoooooNetooooot.blog.tianya.cn&qq=516535763">超链接传值示例</a>
</div>
++ 后台代码如下:
(略)
+++ 第二个页面
++ 页面代码如下:
(略)
++ 后台代码如下:
protected void Page_Load( ......