问题描述
前台<%=name%>获取不到name后台protectedstringname="";protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){}}
解决方案
解决方案二:
publicstringname="";
解决方案三:
referhere:
解决方案四:
哎?aspx和aspx.cs不是继承关系吗?函数可以访问,按理说变量也应该能访问啊
解决方案五:
页面生命周期只有一瞬间,每一次页面回发,属性都会初始化的。因此可持久化的属性应该写publicstringname{get{return(string)ViewState["name"];}set{ViewState["name"]=value;}}
解决方案六:
所谓访问不到值,是报错了,还是显示的是空白的你根本也没给值啊,给的不是空字符串吗
解决方案七:
引用4楼sp1234的回复:
页面生命周期只有一瞬间,每一次页面回发,属性都会初始化的。因此可持久化的属性应该写publicstringname{get{return(string)ViewState["name"];}set{ViewState["name"]=value;}}
所以我觉得应该跟public还是protected无关ViewState在Page_load里赋值取值应该也可以吧
解决方案八:
嗯,是的。有些人报bug的形式就还没有规范,然后直接把问题丢给别人,所以不容易理解。
解决方案九:
Insus.NET再改一下,把"="改为“#”,这需要在在Page_Load事件写this.DataBind();
解决方案十:
Insus.NET再使用Eval("")方法来绑定一个属性,代码稍多了几行:在网页使用Eval()方法的例子:
解决方案十一:
取到也是一场空,楼主那个变量何时赋值了,Page_Load里要写上
时间: 2025-01-20 08:17:56