Questions tagged «razor»

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

6
MVC Razor视图嵌套了foreach的模型
想象一个常见的场景,这是我遇到的一个简单的版本。实际上,我在我上还有几层进一步的嵌套。 但这是场景 主题包含列表类别包含列表产品包含列表 我的控制器提供了一个完全填充的主题,其中包含该主题的所有类别,此类别中的产品及其订单。 订单集合具有一个名为“数量”(在其他属性中)的属性,需要对其进行编辑。 @model ViewModels.MyViewModels.Theme @Html.LabelFor(Model.Theme.name) @foreach (var category in Model.Theme) { @Html.LabelFor(category.name) @foreach(var product in theme.Products) { @Html.LabelFor(product.name) @foreach(var order in product.Orders) { @Html.TextBoxFor(order.Quantity) @Html.TextAreaFor(order.Note) @Html.EditorFor(order.DateRequestedDeliveryFor) } } } 如果我改用lambda,那么我似乎只获得对顶级Model对象“ Theme”的引用,而不是foreach循环中的那些对象。 我正在尝试做的事情甚至可能吗?或者我高估或误解了什么可能? 有了上述,我在TextboxFor,EditorFor等错误 CS0411:无法从用法中推断方法'System.Web.Mvc.Html.InputExtensions.TextBoxFor(System.Web.Mvc.HtmlHelper,System.Linq.Expressions.Expression>)'的类型参数。尝试显式指定类型参数。 谢谢。



7
ASP MVC href到控制器/视图
我有这个: <li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li> 哪个工作正常。但是,如果我已经在此页面或控制器上,例如,/Users/Details并且单击此链接,它将重定向到/Users/Index。 href无论我当前在网站上的位置如何,如何获取正确的路径?


5
MVC 3文件上传和模型绑定
我有一个可以上载的表单,但是我想传递数据库的模型信息,以使用其他名称保存文件。 这是我的剃刀视图: @model CertispecWeb.Models.Container @{ ViewBag.Title = "AddDocuments"; } <h2>AddDocuments</h2> @Model.ContainerNo @using (Html.BeginForm("Uploadfile", "Containers", FormMethod.Post, new { enctype = "multipart/form-data" })) { <input type='file' name='file' id='file' /> <input type="submit" value="submit" /> } 这是我的控制器: [HttpPost] public ActionResult Uploadfile(Container containers, HttpPostedFileBase file) { if (file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); …


9
asp.net-mvc:js文件中的剃刀'@'符号
我有一个.csHtml带有javascript函数的-razor文件,该文件使用@Url.ContentAjax URL内部的C#函数。 我想将该函数移动到.js我的视图引用的文件中。 问题在于javascript无法“知道”该@符号,也无法解析C#代码。 有没有办法.js从带有“ @”符号的视图中引用文件?

4
是否可以使用Razor创建泛型@helper方法?
我试图在Razor中编写一个类似于以下内容的助手: @helper DoSomething<T, U>(Expression<Func<T, U>> expr) where T : class 不幸的是,解析器认为这<T是HTML元素的开始,最后出现语法错误。是否可以使用Razor创建通用方法的助手?如果是这样,语法是什么?

2
Razor语法是否在UI标记中提供了引人注目的优势?
我注意到斯科特·格思里已经开始提剃须刀一个公平位在他的博客,但我只是不那么肯定,这是一个很适合我的风格。 对于那些习惯于使用“标准”类型的ASP.Net标记(内容占位符和内联代码)的人来说,这是一种相当陌生的样式,但是感觉就像要管理很多额外的页面,而对我来说却不太清晰。 其他人对此有何感想?您是否认为应该在构架新的MVC页面时认真考虑某些问题,还是只是试图解决不存在的问题?

3
强制所有区域使用相同的布局
我有以下项目结构: / Views / Shared / _Layout; / Areas / Area1 / Views / ControllerName / Index; ... / Areas / AreaN / Views / ControllerName / Index。 有什么方法可以强制所有区域使用_Layout作为基本布局? 有什么办法可以做到,而无需添加_ViewStart文件的(例如,通过路由配置)可以吗? 也可以看看: 如何在ASP.NET MVC 3剃须刀ViewStart文件中指定不同的布局?

4
DisplayNameFor()来自模型中的List <Object>
我相信这很简单,我似乎找不到正确的方法来显示模型列表中项目的显示名称。 我的简化模型: public class PersonViewModel { public long ID { get; set; } private List&lt;PersonNameViewModel&gt; names = new List&lt;PersonNameViewModel&gt;(); [Display(Name = "Names")] public List&lt;PersonNameViewModel&gt; Names { get { return names; } set { names = value; } } } 和名称: public class PersonNameViewModel { public long ID { get; set; …
87 c#  asp.net-mvc  razor  model 


13
MVC3 Razor DropDownListFor枚举
试图将我的项目更新为MVC3,但我却找不到: 我有一个简单的ENUMS数据类型: public enum States() { AL,AK,AZ,...WY } 我想在包含此数据类型的模型视图中用作DropDown / SelectList: public class FormModel() { public States State {get; set;} } 非常简单:当我使用自动生成的视图用于此局部类时,它将忽略此类型。 我需要一个简单的选择列表,当我通过AJAX-JSON POST方法单击提交并进行处理时,将枚举的值设置为选定项。 并且比视图(???!): &lt;div class="editor-field"&gt; @Html.DropDownListFor(model =&gt; model.State, model =&gt; model.States) &lt;/div&gt; 预先感谢您的建议!

2
剃刀视图引擎-如何添加部分视图
我想知道,如果有可能,使用新的剃刀视图引擎渲染部分图像的最佳方法是什么。我了解到那时这还没有完全完成 现在,我正在使用RenderPage来呈现用户控件: @RenderPage("~/Views/Shared/LocaleUserControl.cshtml",ViewData.Model) 调用RenderPage的页面使用布局(母版)页面,其中定义了三个部分:TitleContent,HeadContent和Maincontent。当我尝试从此页面呈现区域设置控件时,似乎也需要这些部分-仅应在调用页面中将其显示为必需。无论我是否在部分视图中包括这些部分,我都会收到以下消息(很明显,我不想包括这些部分,但这似乎是一个有趣的调试点...)。 以下部分已定义,但尚未在布局页面“〜/ Views / Shared / LocaleUserControl.cshtml”上呈现:TitleContent; HeadContent; 主要内容 我的局部视图如下(从以下链接改编): @inherits System.Web.Mvc.WebViewPage&lt;LocaleBaseModel&gt; @using System.Web.UI; &lt;p&gt; @Html.LabelFor(model =&gt; Model.CountryName) &lt;br /&gt; @Html.DropDownListFor(model =&gt; Model.CountryName,null, string.Empty, new { @class = "text", accesskey="u"}) &lt;/p&gt; &lt;p&gt; @Html.LabelFor(model =&gt; Model.StateProvince) &lt;br /&gt; @Html.DropDownListFor(model =&gt; Model.StateProvince, null, string.Empty, new { @class = "text", …
84 c#  asp.net-mvc  razor 

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.