4
我有以下類別:如何在擴展方法中使用HTML助手方法?
public class Note
{
public string Text { get; set; }
public RowInfo RowInfo { get; set; }
}
public class RowInfo
{
[DisplayName("Created")]
public DateTime Created { get; set; }
[DisplayName("Modified")]
public DateTime Modified { get; set; }
}
在我看來,我有一個用正確的名稱和值創建HTML如下:
Html.HiddenFor(model => model.Note.Created)
現在我所要做的是創建一個擴展方法將包含上述內容,並且可以在每個視圖中調用。我嘗試了以下操作。我認爲我在正確的軌道上,但我不知道如何做相當於「model => model.Note.Created
」有人可以給我一些建議,我該如何做到這一點,以及我需要用圓括號替換文本。我沒有模型,但我可以通過其他方式做到這一點,所以隱藏的字段將查看我的類以獲取正確的DisplayName,就像它在上面那樣?
namespace ST.WebUx.Helpers.Html
{
using System.Web.Mvc;
using System.Web.Mvc.Html
using System.Linq;
public static class StatusExtensions
{
public static MvcHtmlString StatusBox(this HtmlHelper helper, RowInfo RowInfo)
{
return new MvcHtmlString(
"Some things here ... " +
System.Web.Mvc.Html.InputExtensions.Hidden(for created field) +
System.Web.Mvc.Html.InputExtensions.Hidden(for modified field));
}
}
如果我想將RowInfo傳遞給我的StatusBox擴展,然後有一個幫助程序,例如打印helper.HiddenFor對於RowInfo.Created和RowInfo.Modified字段?我能以同樣的方式做到嗎? –
@梅麗莎,我用一個例子更新了我的答案。 –
太好了。你讓我的生活變得更簡單了。非常感謝 !! –