解决方案 »
- 如何利用Aspose.Cells控件,将不同数据源导出一个excel里的不同工作表
- 使用asp.net的验证控件如何验证text输入框满足多个条件呢。
- html中绑定时?:的应用问题?
- datagrid控件不能显示
- 页面参数传递问题求解
- 如何动态的改变master页中Form的action属性?
- 如何利用TreeView控件把页面加载到指定的框架中?
- 菜鸟问,如何将DroplistDown中选中的值赋给一个变量,
- 各位老大,问个白痴问题,怎么动态设置一个detailsview中的一个字段的insertvisible?
- 请教高手!动态加载DATAGRID控件,点击上一页下一页后,控件不显示,怎么办?
- 紧急求助!关于网页调用DLL问题
- 紧急求助,网页调用DLL的问题
要保持UserName的话,可以放在ViewState或者Session里。
i=999 是因为每次_Default都初始化成999了。(因为这一句初始化:private int i = 999;)
private User u = null;private void BindUser(){
var u = new User();
u.UserID = 1;
u.UserName = "name";
ViewState["User"] = u;
Response.Write("i=" + i.ToString() + " ");
Response.Write(u.UserID + ":" + u.UserName);
}protected void Button1_Click(object sender, EventArgs e)
{
var u = ViewState["User"] as User;
Response.Write( "i=" + i.ToString() + " ");
Response.Write(u.UserID + ":" + u.UserName);
}
{
Response.Write( "i=" + i.ToString() + " ");
Response.Write(u.UserID + ":" + u.UserName);
}
每次请求该页面 u 这个对象都是重新实例化的,当你执行Button1_Click 这个事件的时候,上次实例化并设置属性的对象不可能传到这次请求的页面中,页面只要一刷新原来的内容就全部不存在了,而是重新加载,重新实例化对象,重新设置属性值。
要想解决,一楼的办法很好,保存到ViewState 或 session
但是为什么User对象u却仍为null呢?我在BindUser()方法中已经对其赋值了啊?*/
protected void Button1_Click(object sender, EventArgs e)
{
//Response.Write( "i=" + i.ToString() + " ");
//Response.Write(u.UserID + ":" + u.UserName); BindUser();
}
这样就可以了。