C# 在asp.net MVC中输出要查看的格式化代码

C# 在asp.net MVC中输出要查看的格式化代码,c#,asp.net,asp.net-mvc,asp.net-mvc-5,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 mu

我希望有一个解决办法, 我有一个示例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变量中

如果片段是动态生成的,则必须使用JavaScript格式

比如说

SyntaxHighlighter是良好的客户端解决方案:

在其他情况下,请看这里

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

更新


在我看来,所以使用这个

是的,任何事情都是可能的。在“第一个”前面添加@符号,多行字符串将起作用


然后你需要对选项卡做些什么。你可以使用
标记或用固定宽度的div替换选项卡。

不要在控制器上尝试这样做。这就是视图的用途

<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>
code.google.com和Stackoverflow使用

然后,您可以将其与pre标记一起使用:


公共类RegisterViewModel
{
[必需]
[显示(Name=“User Name”)]
[RegularExpression(“[a-zA-Z0-9]{2,64}”,ErrorMessage=“用户名必须仅包含字母或数字,长度在2到64个字符之间”)]
公共字符串用户名{get;set;}

}

对于HTML5,您应该使用

不,不是动态生成的,只是从模型/控制器复制粘贴。看看您可以生成代码片段所需的html。是的,这很好,但是我想在每个视图中将它们放在一个视图包变量中,以便可以在每个页面上输出(通过主布局文件中的模式弹出窗口,感谢您提供的资源,我从不知道existedI不明白您为什么要将其放入ViewBag。您可以使用生成的代码放入部分视图的视图包名称。并调用@Html.partial(ViewBag.PageSourcePartialView)例如。但是如果你真的想把它放在ViewBag中用于空格,请使用@“…这里的代码…”我的意思是逐字逐句的字符串文字是的,但是我需要重新格式化相当多的代码,我希望有一个更简单的解决方案。我在主布局文件中有一个模式弹出窗口,我希望它包含源代码(模型/控制器)每个视图的代码段,通过将其放置在每个视图中的viewbag变量中,您正在寻找它吗
<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>