将在现有HTMLHelpers剃刀工作?如果是这样,那么关于任设计或使用剃刀改变什么HTMLHelpers?

THX

有帮助吗?

解决方案

是,现有的助手工作完全正常用剃刀。例如:

@Html.ActionLink("foo bar", "foo")

什么剃须刀变化是,现在你必须这样定义在线助理的可能性:

@helper FooBar(string foo)
{
    <div>Hello @foo</div>
}

和使用这样的:

@FooBar("World")

至于经典的HTML辅助而言,剃须刀改变不了什么,它只是一个视图引擎,所以你继续写你的助手,你一直做的:

public static class HtmlExtensions
{
    public static MvcHtmlString FooBar(this HtmlHelper htmlHelper, string value)
    {
        var builder = new TagBuilder("div");
        div.SetInnerText(value);
        return MvcHtmlString.Create(div.ToString());
    }
}

和在剃刀使用:

@Html.FooBar("some value")

其他提示

剃刀进行HTML通过默认编码。

所以,如果你的任何MVC2 HtmlHelpers EMIT标记,它们可能无法正常工作,如果他们回国,而不是String MvcHtmlString

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top