关于自定义控件

kane 2002-06-29 01:12:11
如何在自定义控件中使用Session

...全文
42 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kane 2002-06-29
  • 打赏
  • 举报
回复
thanks
triout 2002-06-29
  • 打赏
  • 举报
回复
把下面的语句:
Container:navigation id="control" param=<%=Session["param"]%> runat="server" />
修改为:
Container:navigation id="control" param=<%=this.ReturnSession("param")%> runat="server" />

另外,你使用的是代码与窗体的混合编程吗?如果使用的是CodeBehind方式,应该使用下面的格式:
Container:navigation id="control" param='<%#this.ReturnSession("param")%>' runat="server" />


然后在代码中添加下面的方法:
protected object ReturnSession(string strSessionName)
{
return Session[strSessionName];
}
如果肯定是字符串,还可以把修改为:
protected string ReturnSession(string strSessionName)
{
return Session[strSessionName].ToString();
}
kane 2002-06-29
  • 打赏
  • 举报
回复
triout(Daview)兄的方法确实可行

可否告知如何传递动态的参数
kane 2002-06-29
  • 打赏
  • 举报
回复
那么如何传递动态的参数

<Container:navigation id="control" runat="server" />

如果把上面的语句改为
<Container:navigation id="control" param=<%=Session["param"]%> runat="server" />会出错
triout 2002-06-29
  • 打赏
  • 举报
回复
因为我没有在自定义控件使用过SESSION,所以不能进一步确定。

我想问的是:你为什么要在自定义控件中使用SESSION?是为了传递相关参数吗?

如果这个数据是确定的,可以添加属性来设置该数据,如果是动态的,也可以通过属性来设置值。

如果你一定要使用SESSION,看下面的方法是否有效:

this.Page.Session[""]

kane 2002-06-29
  • 打赏
  • 举报
回复
用WebControl雷代替Control还是不行
kane 2002-06-29
  • 打赏
  • 举报
回复
自定义控件本来需要继承Control类

C#中并不支持多继承,如何继承Page类
triout 2002-06-29
  • 打赏
  • 举报
回复
你把自定义控件根据需要继承相关类就可以使用SESSION了,如果你不能让你自定义的控件是一个组合控件,不能从某一个具体的类继承,那么就继承WebControl类。
yunhi 2002-06-29
  • 打赏
  • 举报
回复
继承Page类

62,046

社区成员

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

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

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

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