【问题标题】:create dynamic controls with ASP.NET MVC使用 ASP.NET MVC 创建动态控件
【发布时间】:2010-12-02 11:03:57
【问题描述】:

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

谢谢, 阿尔卑斯山

【问题讨论】:

    标签: asp.net-mvc dynamic controls


    【解决方案1】:

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

    【讨论】:

    • 你有例子吗?对于他所描述的内容,可能需要一个带有一些样式的 Html Helper 方法。
    猜你喜欢
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    相关资源
    最近更新 更多