2013-07-04 24 views
0

我的查看頁面是這樣的;如何使用IEnumerable頁面使用自定義HtmlHelper?

@model IEnumerable<Project.ViewModels.ViewModel> 
@using Helpers 

@foreach (var item in Model) 
{ 
    @Html.MyCustomHtmlHelper("test") 
} 

我的自定義HtmlHelper是這樣的;

public static MvcHtmlString MyCustomHtmlHelper(this HtmlHelper helper, string TestValue) 
{ 
    var builder = new StringBuilder(); 
    builder.Append(TestValue); 

    return MvcHtmlString.Create(builder.ToString()); 
} 

它與@model Project.ViewModels.ViewModel但不@model IEnumerable<Project.ViewModels.ViewModel>

我的錯誤;

enter image description here

+0

我改變了我的問題.. – yusuf

回答

1

你已經在你的問題中的代碼:

@foreach (var item in Model) 
{ 
    @Html.MyCustomHtmlHelper("test") 
} 

不對應於YSOD所示的代碼:

<td> 
    @Html.MyCustomHtmlHelper(TestValue) 
</td> 

它看起來像你的真實代碼(您沒有向我們顯示),您已經使用了一些TestValue變量。不幸的是,很難知道這個變量是如何/在哪裏聲明的,但如果它不是string,那麼很明顯你的自定義助手不會工作,原因很簡單,這個助手需要一個字符串參數。

+0

你的答案是沒有直接回答我的,但它可以幫助我找到我解決.. 我試着給空值..這是問題.. 再次感謝您達林季米特洛夫 – yusuf

+1

好,我希望你意識到我不知道直接的答案,因爲我不知道你寫了什麼代碼,因爲你在問題中顯示的代碼與你的實際代碼不同。 –

+0

是的是的:)我試圖概括我的問題,因爲通常問題很複雜.. – yusuf

相關問題