.net mvc 模式下,如何向自定义控件传参数

研究汽车的米舞指 2009-08-31 12:39:00
1.我通过controll向页面A传入viewdata对象
2.A页面中包含B.ascx控件,我是通过<%Html.RenderPartial("header", ViewData["comp"]);%>此方法加载控件的

提问:B控件中,我如何获得这个viewdata?当我直接写:Hashtable tb = (Hashtable)ViewData["comp"];时候,总出现:“非静态方法,属性System.Web.Mvc.ViewUserControl.Viewdata.get需要引用”提示错误。

急盼答复!
...全文
763 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
SK_Aqi 2009-08-31
  • 打赏
  • 举报
回复
不太清楚楼主这个写法,不过就是控件放里面了
首先在控件中定义变量id,
private int id;
public int ID
{
get {return ID;}
set {ID = value;}
}

然后直接是这么写不就行了?
this.info_webcontrol1.id = ID;
yxzbest 2009-08-31
  • 打赏
  • 举报
回复
chenliang0724 2009-08-31
  • 打赏
  • 举报
回复
A 页面中 <%Html.RenderPartial("header", ViewData);%>


b控件中用 <%= ViewData[""] %> 这样不就可以访问了么?
stuart 2009-08-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 sd2191757 的回复:]
1.我通过controll向页面A传入viewdata对象
2.A页面中包含B.ascx控件,我是通过 <%Html.RenderPartial("header", ViewData["comp"]);%>此方法加载控件的

提问:B控件中,我如何获得这个viewdata?当我直接写:Hashtable tb = (Hashtable)ViewData["comp"];时候,总出现:“非静态方法,属性System.Web.Mvc.ViewUserControl.Viewdata.get需要引用”提示错误。

急盼答复!
[/Quote]
如果这样写的话,你的 B.ascx 里面应该这样 Inherits="System.Web.Mvc.ViewPage<IEnumerable<Hashtable >>
那么调用数据应该是 Hashtable tb = (Hashtable)Model

希望有所帮助
  • 打赏
  • 举报
回复
SK_Aqi:我被要求用Html.RenderPartial这个方法。

62,041

社区成员

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

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

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

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