C# 怎么使用viewstate在页面中传值
当选择第一个下拉列表中的选项后,第二个下拉列表会根据第一个下拉列表的值获取内容。但是当我选择完第一个下拉列表中的内容后,虽然获取了第二个下拉列表中的内容,然后密码框里面的...
当选择第一个下拉列表中的选项后,第二个下拉列表会根据第一个下拉列表的值获取内容。
但是当我选择完第一个下拉列表中的内容后,虽然获取了第二个下拉列表中的内容,然后密码框里面的值就自动为空了,但是第一个文本框的值还在。这两个文本框是HTML控件
请问各位大神,这个怎么破。 展开
但是当我选择完第一个下拉列表中的内容后,虽然获取了第二个下拉列表中的内容,然后密码框里面的值就自动为空了,但是第一个文本框的值还在。这两个文本框是HTML控件
请问各位大神,这个怎么破。 展开
6个回答
展开全部
首先 这个问题与viewstate无关。
asp.net webform的客户端控件的viewstate在postback时会自己维护,这也是为什么你的第一个文本框的内容可以被保留。
但是password是特殊的,因为安全原因考虑,password会在每次postback之后被清空,这是就需要我们手动给password赋值。
postback之后在page_load中我们可以得到password的值
比如 string password=txtPassword.Text;
然后这样给他赋值:
txtPassword.Attributes.Add("value", password);
asp.net webform的客户端控件的viewstate在postback时会自己维护,这也是为什么你的第一个文本框的内容可以被保留。
但是password是特殊的,因为安全原因考虑,password会在每次postback之后被清空,这是就需要我们手动给password赋值。
postback之后在page_load中我们可以得到password的值
比如 string password=txtPassword.Text;
然后这样给他赋值:
txtPassword.Attributes.Add("value", password);
追问
那么请问一下,我需要把这两句话加到什么地方呢?代码的图片在别的追问里面有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CT_CustomValuePassword1.Attributes.Add("value", ViewState["CT_CustomValuePassword1"]);
这样子密码控制项可以显示密码储存的样子了!
这样子密码控制项可以显示密码储存的样子了!
更多追问追答
追问
那么,请问一下我需要把这句话,加到什么地方呢?page_load?
追答
if (!IsPostBack)
{
}
CT_CustomValuePassword1.Attributes.Add("value", ViewState["CT_CustomValuePassword1"]);
对,在page_load, 但不要放在if (!IsPostBack)里面就可以了!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二级联动,postback之后页面刷新,password文本就会丢失的。
你试试在
portected void Page_Load(object sender,EventArgs e)
{
if(!postback)
{
binddata();
}
CT_CustomValuePassword1.Attributes.Add("value",CT_CustomValuePassword1.Text.Trim());
}
加到这里。试试看。 应该就不会丢失了。
你试试在
portected void Page_Load(object sender,EventArgs e)
{
if(!postback)
{
binddata();
}
CT_CustomValuePassword1.Attributes.Add("value",CT_CustomValuePassword1.Text.Trim());
}
加到这里。试试看。 应该就不会丢失了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//保存到viewstate
viewstate["pwd"]="你的密码";
//给你的前台密码框赋值
this.txtPwd=viewstate["pwd"].toString();
viewstate["pwd"]="你的密码";
//给你的前台密码框赋值
this.txtPwd=viewstate["pwd"].toString();
追问
,这个是前台密码框的代码,还有就是请问我要把这两句话放到什么地方,代码在别的追问里面有。
追答
viewstate["pwd"]="你的密码";
放在pageLoad里就可以了
this.txtPwd=viewstate["pwd"].toString();
放在你的第一个联动的下拉框事件里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-08-06
展开全部
局部刷新第二个下拉框,就不会清空密码
更多追问追答
追问
追答
下面这个方法试过吗:
在页面后台,Page_Load函数中添加一段代码:
if (this.txtPassword.Text != "")//防止页面刷新,密码文本被清空
{
this.txtPassword.Attributes["value"] = this.txtPassword.Text;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询