在我当前的应用程序中,我们基于数据库在面板内动态创建控件 值。比如,类型控件,样式,宽度等。 是否可以使用ASP.NET MVC做这样的事情?
谢谢, 阿尔卑斯山
答案 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) %>