【提问】关于Web UserControl的自定义属性

万婷 2014-09-02 05:06:10
比如新建一个 webUserControl1

然后我写了一个属性
private string testName;
public string TestName
{
get { return testName; }
set { testName= value; }
}

然后里面有一个下拉列表框ddlst1,他得选择改变事件会修改TestName的值
TestName=ddlst1.SelectedItem.Text


之后又有一个界面 website1调用了这个用户控件


每次选择下拉列表框时,在事件中TestName从null变成了ddlst1的Text,但是再次选择的时候TestName又变成null

我做winform太多了,最近公司安排个asp项目,做了个用户控件各种出问题...我这种情况要怎么改?因为是有三个下拉列表框,要根据最后的选择去给testname赋值,所以不能直接获取下拉列表的值,怎么做能保存住这个值?
用static好像不合适吧?
...全文
220 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jun471537173 2014-09-03
  • 打赏
  • 举报
回复
ViewState
万婷 2014-09-03
  • 打赏
  • 举报
回复
引用 2 楼 a475372067 的回复:
绑定ddlst1的代码写在if(!ispostback)里了么?
额,是啊,页面第一次加载的时候给ddlst的数据源赋值
万婷 2014-09-03
  • 打赏
  • 举报
回复
引用 1 楼 ayanamireizero 的回复:
是不是丢到 if(!ispostback)里面了...
额,是啊,页面第一次加载的时候给ddlst的数据源赋值
wyumening 2014-09-03
  • 打赏
  • 举报
回复
因为当你重新选择下拉列表框时,页面回发了,把用户控件的自定义属性值给清空了,要把自定义属性的值保存到viewstate中才不会丢失 参照以下代码:
public string Text 
{   
     get { return (string)ViewState["Text"]; }   
     set { ViewState["Text"] = value; }
}
凹加凸等于啥 2014-09-02
  • 打赏
  • 举报
回复
绑定ddlst1的代码写在if(!ispostback)里了么?
ayanamireizero 2014-09-02
  • 打赏
  • 举报
回复
是不是丢到 if(!ispostback)里面了...

62,268

社区成员

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

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

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

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