C# 将值从页传递到用户控件

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”不存在 包含“值”

我在Default.aspx页面中调用了一个自定义用户控件:

<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();