输出格式化代码以在asp.net MVC中查看

时间:2014-03-22 20:24:31

标签: c# asp.net asp.net-mvc asp.net-mvc-5

我希望有一个解决方案, 我有一个示例MVC应用程序,我想将格式化的代码片段输出到浏览器 类似于以下内容

ViewBag.PageSource = "

    public class RegisterViewModel
    {
        [Required]
        [Display(Name = "User name")]
        [RegularExpression("[a-zA-Z0-9]{2,64}", ErrorMessage = "username must contain  letters or numbers only, and be between 2 and 64 characters long ")]
        public string UserName { get; set; }

    }

";

这种事情有可能吗?

我在主布局文件中有一个模态弹出窗口,我希望它包含每个视图的源(模型/控制器)片段,方法是将它放在每个视图的viewbag变量中

4 个答案:

答案 0 :(得分:1)

请勿尝试在控制器上执行此操作。这就是观点的意义所在。

code.google.com& Stackoverflow使用Code-Prettify

然后,您可以将其与预标签一起使用:

<pre class="prettyprint">
    public class RegisterViewModel<br/>
    {<br/>
        [Required]<br/>
        [Display(Name = "User name")]<br/>
        [RegularExpression("[a-zA-Z0-9]{2,64}", ErrorMessage = "username must contain    letters or numbers only, and be between 2 and 64 characters long ")]<br/>
        public string UserName { get; set; }<br/>
<br/>
}<br/>
</pre>

答案 1 :(得分:0)

如果动态生成代码段,则必须使用JavaScript格式化。

例如

SyntaxHighlighter是一个很好的客户端解决方案:

http://alexgorbatchev.com/SyntaxHighlighter/

在其他情况下看看这里

Jon Skeet提供了一个供公众使用的代码格式化程序:

http://csharpindepth.com/CodeFormatterTool.aspx

<强>更新

我觉得SO使用这个https://code.google.com/p/google-code-prettify/

答案 2 :(得分:0)

是的,一切皆有可能。在第一个&#34;前面添加@符号和多行字符串将起作用。

然后你需要对标签做些什么。您可以使用<pre>标记或用固定宽度的div替换标签。

答案 3 :(得分:0)

对于HTML5,您应该使用<pre><code>//your code here</code></pre>