Questions tagged «razor»

Razor是ASP.NET网页和ASP.NET MVC(从版本3开始)使用的模板语言。它在HTML生成之上增加了一层抽象。它支持HTML标记与C#或VB代码之间的无缝过渡。标记和代码之间的转换由“ @”符号指示。

7
在ASP.NET MVC Razor视图中将换行符替换为<br />
我有一个接受输入的textarea控件。我试图稍后通过使用以下命令将该文本呈现到视图中: @ Model.CommentText 这可以正确编码任何值。但是,我想将换行符替换为&lt;br /&gt;,但我找不到确保新的br标签不会被编码的方法。我尝试使用HtmlString,但还没有任何运气。



4
@ Html.DisplayFor的语法是什么?
我了解在Razor中,@ Html会做很多整洁的事情,例如为链接,输入生成HTML等。 但是我没有DisplayFor函数... 我为什么要写: @Html.DisplayFor(model =&gt; model.Title) 当我可以写的时候: @Model.Title

5
如何在cshtml模板中创建函数?
我需要创建一个仅在一个cshtml文件中必需的函数。您可以将我的情况视为ASP.NET页面方法,这是在页面中实现的最小Web服务,因为它们的作用域是一个页面。我知道HTML帮助器(扩展方法),但是我的功能只需要一个cshtml文件。我不知道如何在视图内创建函数签名。 注意:我正在使用Razor模板引擎。

3
@media媒体查询和ASP.NET MVC剃刀语法冲突
我有一个使用Razor视图引擎在ASP.NET MVC中运行的大型站点。 我有一个基本样式表,其中包含整个网站的所有通用样式。但是,有时我会在页面的中使用特定于页面的样式&lt;head&gt;-通常是一两行。 我不特别喜欢将CSS放入其中,&lt;head&gt;因为它不是严格地将关注点分开,但是对于真正针对该页面的一两行而言,我宁愿不必附加另一个文件并增加带宽。 我有一个实例,但我想将特定于页面的媒体查询放入&lt;head&gt;,但是由于媒体查询使用@符号和方括号{},因此与razor语法冲突: @section cphPageHead{ &lt;style&gt; /* PAGE SPECIFIC CSS */ ... @media only screen and (max-width : 960px) &lt;-- the @ symbol here is clashing! { ... } } &lt;/style&gt; } 有办法解决这个问题吗?


20
如何通过MVC剃刀代码获取Enum成员的显示名称属性?
我的模型中有一个名为“ Promotion”的属性,其类型是一个名为“ UserPromotion”的标志枚举。我的枚举成员的显示属性设置如下: [Flags] public enum UserPromotion { None = 0x0, [Display(Name = "Send Job Offers By Mail")] SendJobOffersByMail = 0x1, [Display(Name = "Send Job Offers By Sms")] SendJobOffersBySms = 0x2, [Display(Name = "Send Other Stuff By Sms")] SendPromotionalBySms = 0x4, [Display(Name = "Send Other Stuff By Mail")] SendPromotionalByMail = …

24
MVC 4 @Scripts“不存在”
我刚刚创建了一个ASP.NET MVC 4项目,并使用Visual Studio 2012 RC创建了Controller和Razor Views for Indexand CreateActions。 当我开始运行应用程序并浏览到Create视图时,显示以下错误: 编译器错误消息:CS0103:当前上下文中不存在名称“脚本” 问题是以下代码自动添加到视图的底部: @section Scripts { @Scripts.Render("~/bundles/jqueryval") } 为什么脚本不存在? 我查看了Assembly System.Web.Mvc.dll v4.0.0.0中的基本Web页面类 我可以看到以下可用的助手属性: 阿贾克斯 HTML 网址 但是没有什么叫脚本。 有任何想法吗? 编辑: 我的Web.config文件如下所示(与Visual Studio创建的文件相同): &lt;system.web.webPages.razor&gt; &lt;host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /&gt; &lt;pages pageBaseType="System.Web.Mvc.WebViewPage"&gt; &lt;namespaces&gt; &lt;add namespace="System.Web.Mvc" /&gt; &lt;add namespace="System.Web.Mvc.Ajax" /&gt; &lt;add namespace="System.Web.Mvc.Html" …
201 asp.net-mvc  razor 


7
_ViewStart.cshtml布局文件在哪里以及如何链接?
这是默认MVC 3模板中的About.cshtml: @{ ViewBag.Title = "About Us"; } &lt;h2&gt;About&lt;/h2&gt; &lt;p&gt; Put content here. &lt;/p&gt; 我希望可以在中找到对_ViewStart文件的引用About.cshtml,但显然不是。 我查看了global.asax和web.config,但是无法找到该About.cshtml文件如何与_ViewStart文件中的布局“链接”在一起。 一切都按预期进行,我只想知道引擎盖下发生了什么...

6
如何在剃刀视图上引用.css文件?
我知道如何在_Layout.cshtml文件上设置.css文件,但是如何基于每个视图应用样式表呢? 我的想法是,在_Layout.cshtml中,您可以使用&lt;head&gt;标记,但在一个非布局视图中却没有。哪里的&lt;link&gt;标签去?
195 css  asp.net-mvc  razor 


2
如何向由MVC的HTML帮助器生成的HTML元素添加类属性?
ASP.NET MVC可使用HTML助手,例如生成HTML元素@Html.ActionLink(),@Html.BeginForm()等等。 我知道我可以通过创建一个匿名对象来指定表单属性,并将该对象传递给(在本例中为第四个)htmlAttributes参数,其中id为元素指定一个: Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"}) 但是class属性呢?显然这不起作用: Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"}) 因为在请求我的视图时,这只会引发随机语法错误,因为遇到C#关键字后,它还会期望其他内容class。 我也尝试过: new { _class = "myclass"} 和 new { class_ = "myclass"} 但是它们也没有用,因为下划线被破折号代替。 我知道我既可以手工编写HTML元素,也可以将表单包装在内&lt;div class="myClass"&gt;,但我仍然想知道应该怎么做。

1
将CSS或JavaScript文件从视图或局部视图添加到布局头
版面页面头: &lt;head&gt; &lt;link href="@Url.Content("~/Content/themes/base/Site.css")" rel="stylesheet" type="text/css" /&gt; &lt;/head&gt; 应用程序中的视图(AnotherView)需要: &lt;link href="@Url.Content("~/Content/themes/base/AnotherPage.css")" rel="stylesheet" type="text/css" /&gt; AnotherView有一个局部视图(AnotherPartial),它需要: &lt;link href="@Url.Content("~/Content/themes/base/AnotherPartial.css")" rel="stylesheet" type="text/css" /&gt; 问题:如何添加这些CSS文件链接到布局头的AnotherView和AnotherPartial链接? RenderSection不是一个好主意,因为AnotherPage可以有多个Partials。将所有CSS添加到头部是没有用的,因为它会动态更改(取决于Anotherpages)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.