J'essaie de transmettre Eval à Html.RenderPartial dans ASP.NET Repeater mais cela ne fonctionne pas, quelqu'un peut-il m'aider? Par ailleurs, je sais que je peux le faire d'autres façons, mais je veux savoir si c'est faisable ou non.Passing Container.Eval à (Html.ReaderPartial) dans le contrôle de répéteur ASP.NET
Répondre
<% protected string RenderControl(object dataItem) { Html.RenderPartial("UserControl1", ((MyType) dataItem).Title); return ""; } %>... <%# RenderControl(Container.DataItem) %> ...
Je voudrais simplement utiliser foreach si - mélange WebForms données obligatoires et MVC rendu partiel est imprévisible, au mieux:
<% foreach (MyObject o in data) { Html.RenderPartial("UserControl1", o.Title); } %>
Ne pas rendre la vie plus difficile que ce doit être ...
+1 pour "ne pas rendre la vie plus difficile que nécessaire". –
Tout est facile, mais <% Html.RenderPartial("UserControl1", o.Title);%>
rend difficile, il est différent des autres extensions html Merci quand même –
Essayez de mettre votre RenderPartial dans <%# %>
déclaration comme:
<asp:Repeater runat="server">
<ItemTemplate>
<%# Html.RenderPartial("UserControl1",Eval("Title")); %>
</ItemTemplate>
</asp:Repeater>
Merci pour votre aide, mais j'ai obtenu cette exception de compilation: CS1026:) Je l'ai testé avant qu'il ne fonctionne pas merci encore ... –
Je sais que vous pouvez compbine WinForms avec MVC ... Mais l'homme ... Je ne le recommanderais pas. Vous allez finir dans un endroit que vous ne voulez pas être. Peut-être essayer de mettre votre RenderPartial dans l'instruction <%# %>. –