使用ASP.NET MVC创建动态控件

时间:2009-09-29 20:36:40

标签: asp.net-mvc dynamic controls

在我当前的应用程序中,我们基于数据库在面板内动态创建控件 值。比如,类型控件,样式,宽度等。 是否可以使用ASP.NET MVC做这样的事情?

谢谢, 阿尔卑斯山

1 个答案:

答案 0 :(得分:3)

ASP.Net MVC不使用像ASP.Net webforms那样的服务器控件。

你所谈论的内容肯定是可能的,但是MVC会让你进入HTML级别,而不是将其抽象为控件。

您可能希望使用部分视图,或者查看向HTMLHelper类添加扩展方法以帮助您生成动态内容。


这是一个非常简单的示例HtmlHelper扩展方法。这很简单,但是你可以看到如何轻松扩展它以输出你需要的动态html。此方法采用输入值,如果为null,则不输出html,如果“addBr”设置为true,则输出“<br>”标记,如果“addBr”为false,则输出值。

public static string FieldOrEmpty(this HtmlHelper<T> helper, 
                                     object value, bool addBr) 
        {
            if (value == null)
            {
                return string.Empty;
            }
            else if (addBr)
            {
                return value.ToString() + "<br />";
            }
            else
            {
                return (value.ToString());
            }
        }
    }

您可以在视图中使用

调用此功能
<%= HtmlHelper.FieldOrEmpty(Model.Field1) %>