Questions tagged «razor»

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


15
在razor视图引擎中转义@字符
我正在使用Razor作为视图引擎创建一个示例ASP.NET MVC 3站点。剃刀的语法以@字符例如开头@RenderBody()。如果我在cshtml页面上写@test,它会给我解析错误 CS0103:名称“ test”在当前上下文中不存在 如何转义“ @”字符?


12
在JavaScript中使用Razor
是否可以解决在视图(cshtml)中的JavaScript中使用Razor语法的问题? 我正在尝试向Google地图添加标记...例如,我尝试了此操作,但是却遇到了大量的编译错误: <script type="text/javascript"> // Some JavaScript code here to display map, etc. // Now add markers @foreach (var item in Model) { var markerlatLng = new google.maps.LatLng(@(Model.Latitude), @(Model.Longitude)); var title = '@(Model.Title)'; var description = '@(Model.Description)'; var contentString = '<h3>' + title + '</h3>' + '<p>' + description + …

6
如何在剃刀中使用三元运算符(特别是在HTML属性上)?
借助WebForms视图引擎,我通常将三元运算符用于非常简单的条件,尤其是在HTML属性中。例如: <a class="<%=User.Identity.IsAuthenticated ? "auth" : "anon" %>">My link here</a> 上面的代码将为<a>标签提供auth或的类,anon具体取决于用户是否通过身份验证。 Razor视图引擎的等效语法是什么?因为Razor要求HTML标签“知道”何时跳入和跳出代码和标记,所以我目前坚持以下几点: @if(User.Identity.IsAuthenticated) { <a class="auth">My link here</a> } else { <a class="anon">My link here</a> } 坦率地说,这是可怕的。 我很想做一些喜欢这一点,但我在努力了解如何在剃刀: <a class="@=User.Identity.IsAuthenticated ? "auth" : "anon";">My link here</a> - 更新: 在此期间,我创建了以下HtmlHelper: public static MvcHtmlString Conditional(this HtmlHelper html, Boolean condition, String ifTrue, String …

7
MVC4中的Styles.Render
在一个.NET MVC4项目中如何@Styles.Render运作? 我的意思是,它在@Styles.Render("~/Content/css")哪个文件中调用? 我的文件夹中没有文件或名为“ css”的Content文件夹。

9
如何在MVC 3中获取当前页面URL
我正在建立的博客上使用Facebook评论插件。它具有一些FBXML标记,这些标记由页面上引用的facebook javascript解释。 一切正常,但是我必须将当前完全合格的URL传递给插件。 <div style="width: 900px; margin: auto;"> <div id="fb-root"></div> <fb:comments href="URL HERE" num_posts="10" width="900"></fb:comments> </div> 获取当前页面URL的最佳方法是什么?请求网址。 解 这是我的解决方案的最终代码: <fb:comments href="@Request.Url.AbsoluteUri" num_posts="15" width="900"></fb:comments>
360 c#  asp.net  asp.net-mvc  razor 

7
如何在Razor中声明局部变量?
我正在asp.net mvc 3中开发一个Web应用程序。在使用剃刀的视图中,我想声明一些局部变量并在整个页面中使用它。如何才能做到这一点? 能够执行以下操作似乎很琐碎: @bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName); @if (isUserConnected) { // meaning that the viewing user has not been saved <div> <div> click to join us </div> <a id="login" href="javascript:void(0);" style="display: inline; ">join</a> </div> } 但这是行不通的。这可能吗?

6
ASP.NET MVC视图引擎比较
我一直在SO和Google上搜索可用于ASP.NET MVC的各种View Engine的细分,但是除了对View Engine是什么的简单高级描述之外,没有发现更多。 我不一定要寻找“最佳”或“最快”,而是针对各种情况对主要参与者(例如默认的WebFormViewEngine,MvcContrib View Engine等)的优缺点进行一些现实世界的比较。我认为这对于确定从默认引擎进行切换是否对给定的项目或开发小组是否有帮助确实很有帮助。 有没有人遇到过这样的比较?

22
使用Razor View Engine从局部视图ASP.NET MVC 3将内容注入特定部分
我在我的部分中定义了此部分 _Layout.cshtml @RenderSection("Scripts", false) 我可以很容易地从视图中使用它: @section Scripts { @*Stuff comes here*@ } 我正在努力的是如何从局部视图中将一些内容注入到本节中。 假设这是我的视图页面: @section Scripts { <script> //code comes here </script> } <div> poo bar poo </div> <div> @Html.Partial("_myPartial") </div> 我需要Scripts从_myPartial局部视图的部分中注入一些内容。 我怎样才能做到这一点?

3
如何在ASP.NET MVC 3剃须刀ViewStart文件中指定不同的布局?
我想在我的应用程序中有2个单独的布局。可以说一个是网站的“公共”部分,另一个是会员侧的。 为了简单起见,可以说所有这些站点的所有逻辑都巧妙地包装在2个不同的控制器中。 PublicController StaffController 并且它们每个都有一个对应的布局,用于每个视图下的所有视图。 _PublicLayout.cshtml _StaffLayout.cshtml 如何使用_ViewStart.cshtml文件指定“公共”下的所有“视图” /“操作”都使用PublicLayout,“工作人员”下的所有内容都使用StaffLayout? 谢谢!


5
ASP.NET MVC 3-部分与显示模板与编辑器模板
因此,标题应能说明一切。 要在ASP.NET MVC中创建可重用的组件,我们提供3个选项(可能是我未提及的其他选项): 部分视图: @Html.Partial(Model.Foo, "SomePartial") 自定义编辑器模板: @Html.EditorFor(model => model.Foo) 自定义显示模板: @Html.DisplayFor(model => model.Foo) 就实际的View / HTML而言,所有三个实现都是相同的: @model WebApplications.Models.FooObject <!-- Bunch of HTML --> 所以,我的问题是-您何时/如何决定使用这三个中的哪一个? 我真正想要的是在创建一个问题之前要问自己的问题列表,这些问题的答案可以用来决定要使用哪个模板。 这是我发现使用EditorFor / DisplayFor更好的两件事: 他们在呈现HTML助手时会尊重模型层次结构(例如,如果您的“ Foo”模型上有一个“ Bar”对象,则“ Bar”的HTML元素将使用“ Foo.Bar.ElementName”来呈现,而一部分将具有“ ElementName”)。 更加健壮,例如,如果List<T>ViewModel中包含a 之类的东西,则可以使用@Html.DisplayFor(model => model.CollectionOfFoo),并且MVC足够聪明,可以看到它是一个集合,并为每个项目呈现单个显示(与Partial相反,这需要显式环)。 我还听说DisplayFor呈现了一个“只读”模板,但是我不明白-我不能在上面扔表格吗? 有人可以告诉我其他原因吗?是否有清单/文章比较这三个地方?

9
在ASP.NET MVC中提供favicon.ico
关于如何在ASP.NET MVC中提供favicon.ico的最终/最佳建议是什么? 我目前正在执行以下操作: 在我的RegisterRoutes方法的开头添加一个条目: routes.IgnoreRoute("favicon.ico"); 将favicon.ico放在我的应用程序的根目录中(这也将是我的域的根目录)。 我有两个问题: 除了我的应用程序的根目录之外,没有其他方法可以将favicon.ico放置在其他位置。与Contentand 处于同一级别,这非常令人讨厌Controllers。 这个IgnoreRoute("favicon.ico")陈述是否足够?或者我也应该按照Phil Haack的博客文章中的说明进行以下操作。我不知道从未在根目录以外的任何目录中看到过对favicon.ico的请求-这将使此操作变得不必要(但很高兴知道如何做)。 routes.IgnoreRoute("{*favicon}", new {favicon=@"(.*/)?favicon.ico(/.*)?"});


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.