创建ASP.NET MVC动态控件 [英] create dynamic controls with ASP.NET MVC

查看:145
本文介绍了创建ASP.NET MVC动态控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

In my current application we create controls dynamically inside panel based on database value. Like, Type controls, Style, width, etc. Is it possible to do something like this using ASP.NET MVC?

谢谢,
阿尔卑斯

Thanks, Alps

推荐答案

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

ASP.Net MVC doesn't use server controls like ASP.Net webforms does.

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

What you're talking about is definitely possible, but MVC gets you down to the HTML level, rather than abstracting it into controls.

您可能会想使用局部视图,要不然看着添加扩展方法为HtmlHelper类来帮助你生成动态内容。

You'd likely want to be using partial views, or else looking at adding extension methods to the HTMLHelper class to help you generate dynamic content.


下面是一个非常简单的例子的HtmlHelper扩展方法。这很简单,肯定的,但你可以看到它是如何很容易将它扩大到输出的动态HTML你需要。此方法需要输入值,如果它是空输出没有HTML,值加上一个< BR> 标记,如果addBr设置为true,或者只是值,如果addBr是假的。

Here's a very simple example HtmlHelper extension method. It's simple, for sure, but you can see how it would be easy to expand it to output the dynamic html you'd need. This method takes an input value, and outputs no html if it's null, the value plus a "<br>" tag if "addBr" is set to true, or just the value if "addBr" is 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) %>

这篇关于创建ASP.NET MVC动态控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆