Asp.net mvc 2 基于身份验证的呈现编辑器模板

Asp.net mvc 2 基于身份验证的呈现编辑器模板,asp.net-mvc-2,Asp.net Mvc 2,如果用户已登录且displaytemplates为默认设置,是否可以呈现editortemplates?或者我是否需要创建自己的Html帮助程序扩展?您需要一个自定义帮助程序方法来实现此目的: public static class HtmlExtensions { public static MvcHtmlString MyHelper<TModel, TValue>( this HtmlHelper<TModel> htmlHelper,

如果用户已登录且displaytemplates为默认设置,是否可以呈现editortemplates?或者我是否需要创建自己的Html帮助程序扩展?

您需要一个自定义帮助程序方法来实现此目的:

public static class HtmlExtensions
{
    public static MvcHtmlString MyHelper<TModel, TValue>(
        this HtmlHelper<TModel> htmlHelper, 
        Expression<Func<TModel, TValue>> expression
    )
    {
        if (htmlHelper.ViewContext.HttpContext.User.Identity.IsAuthenticated)
        {
            return htmlHelper.EditorFor(expression);
        }
        return htmlHelper.DisplayFor(expression);
    }
}
public静态类
{
公共静态MvcHtmlString MyHelper(
这个HtmlHelper HtmlHelper,
表情
)
{
if(htmlHelper.ViewContext.HttpContext.User.Identity.IsAuthenticated)
{
返回htmlHelper.EditorFor(表达式);
}
返回htmlHelper.DisplayFor(表达式);
}
}
和使用:

<%: Html.MyHelper(x => x.SomeValue) %>
x.SomeValue)%%>

您需要一个自定义的帮助器方法来实现此目的:

public static class HtmlExtensions
{
    public static MvcHtmlString MyHelper<TModel, TValue>(
        this HtmlHelper<TModel> htmlHelper, 
        Expression<Func<TModel, TValue>> expression
    )
    {
        if (htmlHelper.ViewContext.HttpContext.User.Identity.IsAuthenticated)
        {
            return htmlHelper.EditorFor(expression);
        }
        return htmlHelper.DisplayFor(expression);
    }
}
public静态类
{
公共静态MvcHtmlString MyHelper(
这个HtmlHelper HtmlHelper,
表情
)
{
if(htmlHelper.ViewContext.HttpContext.User.Identity.IsAuthenticated)
{
返回htmlHelper.EditorFor(表达式);
}
返回htmlHelper.DisplayFor(表达式);
}
}
和使用:

<%: Html.MyHelper(x => x.SomeValue) %>
x.SomeValue)%%>