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

查看:115
本文介绍了使用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 webforms这样的服务器控件。

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,如果addBr设置为true,则该值为空,该值加上< br> 如果addBr为false,则值为$。

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天全站免登陆