Как использовать this.Html.DisplayFor для рендеринга строго типизированного партиала для объекта poco - PullRequest
0 голосов
/ 11 октября 2010

В просмотрах / home / index.aspx:

<% this.Html.DisplayFor(m => m.NewLink); %>

index.aspx строго типизирован для HomeViewModel.cs, у которого есть свойство, использованное выше прямо здесь:

public Link NewLink { get; private set; }
(in constructor), this.NewLink = new Link();

В представлениях / home / displaytemplates / addform.ascx:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<urlme.Model.Link>" %>
this should show up on index.aspx

Когда я запускаю его, ничего не появляется вообще. Я знаю, что могу пойти по такому пути, что я создаю отдельную модель представления для частичного элемента, к которому необходимо привязать частное представление, затем просто назову частичное представление AddLinkViewModel.ascx, тогда оно должно работать, но это слишком много кода и слишком долго filename;) Нужно ли использовать UIHint ?? Надеюсь, что нет, так как это похоже на взлом. Спасибо!

Ответы [ 3 ]

0 голосов
/ 12 октября 2010

Похоже, вы забыли = в начале тега, поэтому шаблон дисплея анализируется, но не записывается в поток.

<%=this.Html.DisplayFor(m => m.NewLink); %>

0 голосов
/ 12 октября 2010

Попробуйте использовать Html.DisplayForModel

<%= Html.DisplayForModel("addform", Model.NewLink) %> 
0 голосов
/ 11 октября 2010

попробуйте назвать частичные представления / home / displaytemplates / link.ascx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...