Asp.net mvc MVC Html扩展错误

Asp.net mvc MVC Html扩展错误,asp.net-mvc,Asp.net Mvc,这可能会让我感到紧张,但它不会带我去哪里 我在HTML扩展中出错 在@Html上,然后转到其引用的定义 但实际参考应来自 更有趣的是我没有得到扩展属性,比如:@Html.Action、@Html.ActionLink&更多 已经使用Web.config文件进行了检查,看起来还可以 交叉验证: 您应该使用MvcHtmlString类来实现razor减刑方法。像这样 我已经为Spanfor属性实现了它。您可以使用这种方法来实现 下面的代码将作为一个想法帮助您 public static M

这可能会让我感到紧张,但它不会带我去哪里

我在HTML扩展中出错

在@Html上,然后转到其引用的定义

但实际参考应来自

更有趣的是我没有得到扩展属性,比如:@Html.Action、@Html.ActionLink&更多

已经使用Web.config文件进行了检查,看起来还可以 交叉验证:


您应该使用MvcHtmlString类来实现razor减刑方法。像这样

我已经为Spanfor属性实现了它。您可以使用这种方法来实现

下面的代码将作为一个想法帮助您

public static MvcHtmlString SpanFor<TModel, TProperty>(this HtmlHelper<TModel> html, Expression<Func<TModel, TProperty>> expression, object htmlAttributes)
        {
            var valueGetter = expression.Compile();
            var value = valueGetter(html.ViewData.Model);

            var span = new TagBuilder("span");
            span.MergeAttributes(new RouteValueDictionary(htmlAttributes));
            if (value != null)
            {
                span.SetInnerText(value.ToString());
            }

            return MvcHtmlString.Create(span.ToString());
        }
public static MvcHtmlString SpanFor(此HtmlHelper html、表达式、对象htmlAttributes)
{
var valueGetter=expression.Compile();
var value=valueGetter(html.ViewData.Model);
var span=新标记生成器(“span”);
合并属性(新的RouteValueDictionary(htmlAttributes));
if(值!=null)
{
span.SetInnerText(value.ToString());
}
返回MvcHtmlString.Create(span.ToString());
}

我希望这将对您有所帮助。

使用了两个步骤来解决此问题:1。清除以下临时文件:C:\WINDOWS\Microsoft.NET\Framework\v4.X.XXXX\ASP.NET临时文件\2。通过NugePackage更新VS。。。