1
我會保持簡單。@HTML擴展
我有以下模式:
public class Person
{
public int Id { get; set; }
public string FullName { get; set; }
}
我創建該模型在該部分視圖.. \共享\ DisplayTemplates \ Person.cshtml
@model BillSplitter.Classes.Person
<b>@Model.FullName</b>
在視圖中,下面的代碼偉大工程:
@Html.DisplayFor(model => model.PaidBy) //PaidBy is type of Person
這是我想創建擴展:
public static IHtmlString DisplayPersons(this HtmlHelper helper, IEnumerable<Person> model)
{
string htmlString = "";
foreach (Person p in model)
string += helper.DisplayFor(p); //PROBLEM!
return new HtmlString(htmlString);
}
問題是幫手不公開DisplayFor
函數。
如何從本擴展的部分視圖中獲取HtmlString
?
'使用System.Web.Mvc.Html',雖然你不必這樣做 - MVC將知道如何處理'IEnumerable'。 ;-) –