asp.net mvc以编程方式获取html视图

时间:2010-05-23 19:23:16

标签: asp.net asp.net-mvc

从控制器在视图中以编程方式获取HTML的最佳方法是什么。 我有时会使用字符串构建器来渲染一些html并从控制器发送它的视图。它有效吗?

你们有什么建议?

2 个答案:

答案 0 :(得分:2)

HtmlHelpers就是为了这个。更好的选择是创建一个HtmlHelper,它将生成您需要的标记,您所做的就是将对象传递给它(从视图中的Model或ViewData),并为您输出正确的标记。有一个TagBuilder对象可以简化您需要的一切。

public static string MyHtmlHelper(this HtmlHelper html, string url)
{
       TagBuilder tag = new TagBuilder("a");
       tag.Attributes.Add("href", url);
       return tag.ToString();
}

然后在你看来:

<%= Html.MyHtmlHelper(ViewData["MyUrl"].ToString()) %>

这只是一个简单的例子,您可以根据自己的喜好进行推断。

搜索asp.net mvc html helpers以了解其工作原理以及扩展方法的工作原理。

答案 1 :(得分:1)

使用StringBuilder组装HTML并在视图中呈现它没有任何问题,只要你正确地逃避它

然而,它的设计很差 控制者应该不了解演示文稿;所有的HTML都应该在视图中 你想做什么?