Я создаю очень простой сайт MVC3, пока я участвую, и у меня возникают трудности со следующим декларативным помощником html Razor.
Внутри RMB.cshtml внутри папки App_Code:
@helper ReplaceCrLf(string strText)
{
@Html.Raw(Html.Encode(strText).Replace(Environment.NewLine, "<br />"));
}
Внутри моего указателя index.cshtml:
@RMB.ReplaceCrLf(Model.Post)
Это дает мне исключение ссылки на Html в помощнике, потому что, похоже, оно не знает, что это такое. Я могу обойти это, передав Html из представления помощнику, но мне было интересно, есть ли другой способ, чтобы мои общие помощники html могли ссылаться на Html без необходимости передавать его в помощник, который я пишу?
Для полноты, вот рабочий способ:
В RMB.cshtml в App_Code
@helper ReplaceCrLf(string strText, System.Web.Mvc.HtmlHelper Html)
{
@Html.Raw(Html.Encode(strText).Replace(Environment.NewLine, "<br />"));
}
В представлении index.cshtml
@RMB.ReplaceCrLf(Model.Post, Html)