创建ASP.NET MVC动态控件(create dynamic controls with ASP

2019-08-17 01:20发布

在我目前的应用中,我们动态地创建内部基于数据库值面板控制。 就像,类型控制,风格,宽度等是否有可能做这样的事情使用ASP.NET MVC?

谢谢,阿尔卑斯山

Answer 1:

ASP.Net MVC不使用服务器控件像ASP.Net web表单一样。

什么你在谈论绝对是可能的,但MVC让你下到HTML的水平,而不是抽象成对照。

你很可能要使用局部视图,或者看着添加扩展方法来HtmlHelper类来帮助你生成动态内容。


这里是一个非常简单的例子的HtmlHelper扩展方法。 这是简单的,肯定的,但你可以看到它是如何容易将它扩大到输出的动态HTML你需要。 此方法需要的输入值,如果它是空输出没有HTML,值加上一个“ <br> ,如果“addBr”设置”标签,以真实,或只是如果“addBr”是假的值。

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) %>


文章来源: create dynamic controls with ASP.NET MVC