急死啦~~用户控件问题~

yzlz888 2004-12-03 03:22:11
我做了一个用户控件 声明了一些属性 如:
public int t_x
{
get
{
return xx;
}
set
{
xx=value;
}
}
然后再button_click里调用 如:
int sql=t_x;
在其它页面的page_load内对 t_x赋值10
但是在使用时为什么sql=null???
跟踪了下程序运行发现刚开始时t_x 是有值的 可是在button_click时t_x就=0了 大家帮帮我急用~~
...全文
194 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzlz888 2004-12-03
  • 打赏
  • 举报
回复
问题已经解决 谢谢大家 耐心指导

最后采用的是 tomtown530(梦想一定会实现!) 和( brightheroes(闭关|那一剑的风情) 的方法 在页面上作了几个label接受值 用session我认为有些占用资源 ~
brightheroes 2004-12-03
  • 打赏
  • 举报
回复
ViewState和Session是一样的?
Alden 2004-12-03
  • 打赏
  • 举报
回复
简单问题
xiaomaolover 2004-12-03
  • 打赏
  • 举报
回复
会用session不??ViewState和Session一样的..
brightheroes 2004-12-03
  • 打赏
  • 举报
回复
Page_Load的时候
你需要如下对用户控件的属性来赋值


yourControl yc = (yourControl)this.Page.FindControl("yourControlID");

yc.t_x = 1;

.....
  • 打赏
  • 举报
回复
那你放一个visible为空的textbox来储存这个数据,postback 时调用这个textbox 里的text就会OK了,试试吧。
thooy 2004-12-03
  • 打赏
  • 举报
回复
你是不在同一个页面啊??那不能用ViewState了,用session吧,
在引用页里
page_load 时Session["sqlconn"] = 2
在控件页里
button_click
if(Session["sqlconn"] != null)
{
int sql = (int)Session["sqlconn"];
}
brightheroes 2004-12-03
  • 打赏
  • 举报
回复
你这个属性要如下写


public int t_x
{
get
{
return Convert.ToInt32(this.ViewState["t_x"]);
}
set
{
this.ViewState["t_x"] =value;
}
}

yzlz888 2004-12-03
  • 打赏
  • 举报
回复
gjinlin(阿林) 用session 说 未将对象引用到对象的实例

thooy(雨天) 这样还是老问题 用的时候setissearch=0
我控件一个页面 引用页一个页面

在引用页里
page_load 时setissearch=10

在控件页里
button_click 时int sql=setissearch; 可是setissearch 还是0 我用了ViewState了啊 可是一button_click 就清空了

郁闷。。。。不在同一个页面可以用ViewState么?
thooy 2004-12-03
  • 打赏
  • 举报
回复
private int setissearch
{
get
{
return ((int) this.ViewState["sqlconn"]);
}
set
{
this.ViewState.Add("sqlconn", value);
}
}
int sql=setissearch;
张新林 2004-12-03
  • 打赏
  • 举报
回复
在其它页面的page_load内对 t_x赋值10
跨页面访问变量时放到session
yzlz888 2004-12-03
  • 打赏
  • 举报
回复
兄弟们快来帮忙啊 ~~
yzlz888 2004-12-03
  • 打赏
  • 举报
回复
顶啊~~~
yzlz888 2004-12-03
  • 打赏
  • 举报
回复
public string t_sqlconn
{
get
{
return (string) ViewState["sqlconn"];
}
set
{

ViewState["sqlconn"] = value;
}
}
int sql=t_sqlconn;
还是空值~~郁闷了
nhf80649 2004-12-03
  • 打赏
  • 举报
回复
路过,up
yzlz888 2004-12-03
  • 打赏
  • 举报
回复
呵呵 感觉到可能要保存 但是c#还不熟练 看来要多看看书了
ViewState怎么用?
MyBadBoy 2004-12-03
  • 打赏
  • 举报
回复
变量生命周期就那么长
组合缺一 2004-12-03
  • 打赏
  • 举报
回复
page_load 内赋的值,

怎么可能在button_click里还有效...

汗...你要在page_load时把值保存在ViewState 先,然后再从button_click时从ViewState 里取值.

引用:"为什么会被清空了呢??"

为什么?这还用为什么?汗...
你页面装载完一次,,,对应在服务器上的对象的状况值,当然是会被清空啊.
不然,要是有一万个人同是打开了服务器上的10来张页面,那服务器,企不是要保存10万来张页面的数据了.
xxqqpp 2004-12-03
  • 打赏
  • 举报
回复
你用viewstate保存一下这个变量
yzlz888 2004-12-03
  • 打赏
  • 举报
回复
kenMoxi(蓝雨)
我做的和你一样 我私有变量是xx
cyp503(谁怕?一蓑烟雨任平生)
我是这么做的啊~
补充一下 我是在调用控见的页面page_load里 为t_x赋值10 这时控件页t_x=10 没错
可是跟踪到控件的button_click里看 t_x=0
为什么会被清空了呢??
加载更多回复(4)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧