• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

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

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了 大家帮帮我急用~~
...全文
168 点赞 收藏 24
写回复
24 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
为什么会被清空了呢??
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-12-03 03:22
社区公告
暂无公告