简体   繁体   English

asp.net mvc避免if-视图中控件的其他逻辑

[英]asp.net mvc avoid if - Else logic for controls in view

i have next code in my View: 我的视图中有下一个代码:

   @if (Model is Manager)
        {
           //render manager button
        }
        else if (Model is Developer)
        {
            //render Developer button
        }
        else if (Model is UX)
        {
            //render UX button
        }

This works, but I'm looking best way to do it. 这可行,但是我正在寻找最佳方法。 Any idea? 任何想法?

You can use extension method to implement control logic for different entities. 您可以使用扩展方法为不同实体实现控制逻辑。

 public static MvcHtmlString userButton(this HtmlHelper html, Manager user)
    {
        string buttonForManager = //...
        return new MvcHtmlString(buttonForManager);
    }

    public static MvcHtmlString userButton(this HtmlHelper html, Developer user)
    {
         string buttonForDeveloper = //...
        return new MvcHtmlString(buttonForDeveloper);
    }

Use in View: 在视图中使用:

@Html.userButton(Model)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM