在default.master中我正在调用此用户控件
<uc8:MenuMain2 ID="MenuMain2" runat="server" RootCategoryId="30" ImageHeight="40"
ImageWidth="900" />
我想使用变量形式我的代码后面的RootCategoryId的值,我怎么能这样做,如果我想使用变量我得到“this is not script let. will output as plain text
”
答案 0 :(得分:1)
MenuMain2
是class
。添加一个名为RootCategoryId
的公共属性。这将允许您从客户端和服务器端为其分配值:
例如,将其添加到您的MenuMain2控件代码隐藏:
public string RootCategoryId {get; set;}
答案 1 :(得分:1)
@Boomer提到你应该使用属性,而不是类实现中的字段。
每个Control都应该关注ViewState中的属性。这是Microsoft惯例MSDN prooflink
使用
是不够的public string RootCategoryId {get; set;}
在ViewState中保存您的值:
public string RootCategoryId
{
get
{
return ViewState["RootCategoryId"] == null ?
"Default Value!" :
(string)ViewState["RootCategoryId"];
}
set { ViewState["RootCategoryId"] = value; }
}
在这种情况下,您在源代码中分配给此属性的值将在回发期间保持不变。