传递Container.Eval至(Html.ReaderPartial)ASP.NET中继台控制内
-
13-09-2019 - |
题
我试图通过评估和演示到ASP.NET直放站内Html.RenderPartial但它不起作用任何一个可以帮助?
<asp:Repeater runat="server">
<ItemTemplate>
<% Html.RenderPartial("UserControl1",Eval("Title")); %>
</ItemTemplate>
</asp:Repeater>
这我知道,我可以用其他方式做到这一点的方式,但我想知道,如果它是可行与否。
解决方案
是一样的,因为它预计,返回一个字符串表达式,所以得到这个编译你必须调用调用Html.RenderPartial(方法),然后返回一个空字符串:
<% protected string RenderControl(object dataItem) { Html.RenderPartial("UserControl1", ((MyType) dataItem).Title); return ""; } %>... <%# RenderControl(Container.DataItem) %> ...
我只想用的foreach虽然 - 混合的WebForms数据绑定和MVC部分呈现是不可预测的,在最好的:
<% foreach (MyObject o in data) { Html.RenderPartial("UserControl1", o.Title); } %>
不要让生活比它需要...
任何困难其他提示
尝试把你的RenderPartial <%# %>
语句中,如:
<asp:Repeater runat="server">
<ItemTemplate>
<%# Html.RenderPartial("UserControl1",Eval("Title")); %>
</ItemTemplate>
</asp:Repeater>
不隶属于 StackOverflow