我尝试将Package
变量传递给我的UserControl:
<uc:Template ID="Template" runat="server" Package="<%=TemplateParams.SimpleSearch %>" />
但没有运气 - 在UC中,它为<%=TemplateParams.SimpleSearch %>
类提供了SimpleSearch
字符串而不是TemplateParams
参数。
怎么做?
编辑:
关于我知道的代码背后的方式 - 我想知道如何从视图中做到这一点。
答案 0 :(得分:0)
从后面的代码中,您可以传递变量或设置属性
Template.variable="foo";
答案 1 :(得分:0)
Page.FindControl("Template").Attributes.Add("Package", "YourValueGoesHere");
答案 2 :(得分:0)
在包含您尝试公开的属性的用户控件中,您可以设置BrowsableAttribute
属性:
[BrowsableAttribute(true)]
public string myProperty { get; set; }
这应该在控件的xml版本中公开它。
修改强>
如果您的TemplateParams.SimpleSearch
是字符串,那么您应该可以执行以下操作:
Package='<%=TemplateParams.SimpleSearch%>'
'
在这里有所不同。如果它是一个对象,你必须在后面的代码中执行它。
答案 3 :(得分:0)
另一种方法是,如果您真的想在标记中执行此操作,请使用expression builder
我们将this one用于许多类似的任务
这将允许您编写类似
的代码<uc:Template ID="Template" runat="server" Package="<%$ Code : TemplateParams.SimpleSearch %>" />