ASP.NET MVC中条件输出的最佳实践?

时间:2010-05-14 07:26:31

标签: asp.net asp.net-mvc

我正在加速ASP.NET MVC,并研究如何在视图中输出消息。做这样的事情最好的方法是什么?助手?控制?或者就是这样?

<% if (ViewData.ContainsKey("message") && !string.IsNullOrEmpty(ViewData["message"].ToString())) { %>
    <div class="notice">
        <%= ViewData["message"] %>
    </div>
<% } %>

2 个答案:

答案 0 :(得分:5)

我会使用html帮助器:

public static class HtmlExtensions
{
    public static string GetMessage(this HtmlHelper htmlHelper)
    {
        var message = htmlHelper.ViewData["message"] as string;
        if (string.IsNullOrEmpty(message))
        {
            return string.Empty;
        }
        var builder = new TagBuilder("div");
        builder.AddCssClass("notice");
        builder.SetInnerText(message);
        return builder.ToString();
    }
}

并在视图中:

<%= Html.GetMessage() %>

备注:如果您决定按原样使用代码,请不要忘记对邮件的值进行html编码。

答案 1 :(得分:1)

我认为你所拥有的条件是最简单的方法。控制感觉有点太“沉重”。如果你发现自己重复了很多,也许是帮助方法。