我有一个Web窗体项目,没有MVC。那意味着我有:
我们所有的逻辑都在控制器中,并且在Web From视图的后台代码中,我们调用控制器并使用视图模型。
就我而言,我有ContentController
很多逻辑。
我需要做的是呈现用户控件并获取HTML。问题是,我还没有添加System.Web.UI DLL,而我的部件在VB.NET项目中。
因此,我想执行以下操作:
在我的视图模型中,我有一个名为的属性Content
。在我的内容中,我想注入这样的字符串:
var res = "<%=Html.Render(\"~\\Views\\Products\\_ProductRecListItemView.ascx\", p)%>";
然后设置一个p
在我的视图模型中调用的值,然后像这样设置该值:
ProductController productController = new ProductController();
var p_model = productController.Get("9788711401262");
model.p = p_model;
现在,我的问题是,当我将其布局在中时<p>@Model.Content</p>
,它显然最终看起来像这样,因为它在我的页面上被视为字符串:
所以我的问题是...如何将该字符串呈现为代码,以便实际上加载用户控件?
供参考,这是我的“观点”:
<asp:Content ID="Content4" ContentPlaceHolderID="ContentMain" runat="server">
<div class="cmsSection">
<h1><%=Model.Headline%></h1>
<div>
<%=Model.Content%>
</div>
</div>
</asp:Content>
asp.net Web窗体具有LoadControl方法来呈现用户控件。
Control TemplateControl.LoadControl(Type t, object[] parameters)
您可以直接致电-
LoadControl("~/control.ascx");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句