C# 将值从页传递到用户控件
我在Default.aspx页面中调用了一个自定义用户控件:C# 将值从页传递到用户控件,c#,parameter-passing,user-controls,C#,Parameter Passing,User Controls,我在Default.aspx页面中调用了一个自定义用户控件: <myPrefix:myTagName ID="category" runat="server" /> 在Default.aspx.cs代码中,我想设置此标记的值: this.articleCategory.value = this.currentArticle.Category.ToString(); 我在最后一行的“value”处得到此错误: “System.Web.UI.UserControl”不存在 包含“值”
<myPrefix:myTagName ID="category" runat="server" />
在Default.aspx.cs代码中,我想设置此标记的值:
this.articleCategory.value = this.currentArticle.Category.ToString();
我在最后一行的“value”处得到此错误:
“System.Web.UI.UserControl”不存在
包含“值”的定义,以及
不接受扩展方法“值”
类型的第一个参数
“System.Web.UI.UserControl”可以是
发现(您是否缺少一个可用的
指令或组件引用?)
我看到的所有演示似乎都表明这应该是可行的。我遗漏了什么吗?错误消息表明从page类引用控件实例的类型当前为
System.Web.UI.UserControl
。它的类型必须是WebApplication3.inc.controls.myTag
,才能访问值
成员。解决此问题的一种方法是将变量的声明移动到codebehind文件,而不是让Visual Studio自动生成变量,但具体方法取决于您的项目设置和在页面中包含控件的方式。这可能是因为您在错误的时间调用它,首先在页面上调用Page\u Load
,然后在页面上调用所有子控件。也许您只需要更改控件以在Init
上初始化自身,而不是Page\u Load
实际上,Jonas的答案更有可能
this.articleCategory.value = this.currentArticle.Category.ToString();