Tag: razor

EditorFor IEnumerable with TemplateName

假设我有一个简单的模型来解释目的: public class Category { … public IEnumerable Products { get; set; } } 视图: @model Category … @Html.EditorFor(m => m.Products) EditorTemplate: @model Product … @Html.EditorFor(m => m.Name) 请注意,我不必为IEnumerable定义EditorTemplate,我只能为Product模型创建它,而MVC框架足够智能,可以使用自己的IEnumerable模板。 它遍历我的集合并调用我的EditorTemplate。 输出html将是这样的 … 毕竟,我可以发布到我的控制器。 但是,当我使用模板名称定义EditorTemplate时,为什么MVC没有做到这一点? @Html.EditorFor(m => m.Products, “ProductTemplate”) 在这种情况下,我必须将属性的类型更改为IList ,自己遍历集合并调用EditorTemplate @for (int i = 0; i m.Products[i], “ProductTemplate”) } 这似乎是一种肮脏的解决方法给我。 这样做是否还有其他更清洁的解决方案?

EditorFor()用于复杂类型列表(MVC)

我正在尝试为复杂类型的List创建一个EditorFor()。 具体来说,下面的“选项”应显示在一个多文本输入中,其中每个选项(字符串)都在一个新行中。 但是,我只能在文本框中显示一个选项而不是所有选项…. 我的视图模型和类: public class ItemViewModel { public int itemId { get; set; } [UIHint(“Option”)] public List Options { get; set; } } public class Option { public string Text { get; set; } } 我的编辑模板: EditorTemplates \ Item.cshtml @model ItemViewModel @Html.EditorFor(model => model.Options) EditorTemplates \ Option.cshtml //Not sure how to dispay the options […]

在运行时动态生成Razor视图?

我正在寻找构建一个Web可配置的布局引擎,并希望直接使用引擎盖下的razor引擎。 假设我通过类,xml或数据库提供了一些信息 – 我想在运行时将其转换为本机剃刀代码(我的意思是暗示我的定义内容和结构的来源是基于提供者模型)。 而不是每次请求转换xml文件或其他东西,我想我也可以写Razor,并让视图引擎处理所有事情。 我可以将razor代码从非文件系统的源直接插入引擎吗? 如果我在运行时动态生成.cshtml视图和布局到文件中会有任何问题[并在控制器动作中动态设置这些视图]吗?

没有类型为’IEnumerable ‘的ViewData项具有键“key”

我的代码是这样的 namespace DiagnosisApp.Models { public class ProcedurePrice { public int ID { get; set; } public int DepartmentID { get; set; } public int ProcedureID { get; set; } public int InsuranceProviderID { get; set; } public int ProcedureCategoryID { get; set; } public int ProcedureSubCategoryID { get; set; } [ForeignKey(“ID”)] public virtual Department Department […]

重构类似的CHTML,使用EditorFor和LabelFor呈现不同的属性

我正在构建一个包含很多关于剃刀视图的常用代码的项目。 例: @Html.LabelFor(model => model.LayoutFrontAmount, htmlAttributes: new { @class = “control-label col-xs-12 col-sm-4 col-md-3” }) @Html.EditorFor(model => model.LayoutFrontAmount, new { htmlAttributes = new { @class = “form-control” } }) @Html.ValidationMessageFor(model => model.LayoutFrontAmount, “”, new { @class = “text-danger” }) @Html.LabelFor(model => model.LayoutFrontBackAmount, htmlAttributes: new { @class = “control-label col-xs-12 col-sm-4 col-md-3” }) @Html.EditorFor(model => model.LayoutFrontBackAmount, […]

来自IEnumerable的DropDownList

我只想要一个简单的下拉列表,它将由IEnumerable填充。 我有 @model WebApplication4.Models.VENDOR 该模型包含一个IEnumerable的BANK对象。 我希望下拉列表由这些对象的字段填充,BANK_NAME。 我是MVC和.NET的新手。 这似乎是一件容易的事,我只是不知道该怎么做。

如何在ASP.NET MVC中使用多个表单元素

所以我是ASP.NET MVC的新手,我想为一个集合中的每个项目创建一个带有文本框的视图。 我该怎么做,以及如何在POST回来时捕获信息? 我使用表单和表单元素为模型构建静态表单,但从不基于可变大小的集合动态生成表单元素。 我想在mvc 3中做这样的事情: @foreach (Guest guest in Model.Guests) { First Name: @Html.TextBoxFor(???) @* I can’t do x => x.FirstName here because the model is of custom type Invite, and the lambda wants to expose properties for that type, and not the Guest in the foreach loop. *@ } 如何为每位客人提供文本框? 我如何在它回发的动作方法中捕获它们? 谢谢你的帮助。

MVC Razor,包含来自另一个项目的JS / CSS文件

我有一个使用Razor语法的C#MVC项目。 为了能够重用一些代码,我想将一些JavaScript和CSS文件放在一个不同的项目中并以某种方式包含它们。 这就是我的脚本目前的包含方式: 目前,脚本与cshtml文件位于同一个项目中,但它们应放在Common.Web项目中,而不是…… 我想做的是这个(虽然不起作用):

如何从Referrer Uri获取Controller和Action名称?

从控制器和动作名称构建Uris有很多信息,但是我怎么能这样做呢? 基本上,我想要实现的是从引用页面获取Controller和Action名称(即Request.UrlReferrer)。 有没有一种简单的方法来实现这一目标?

在ASP.NET 5中将Razor视图渲染为字符串

在以前的ASP.NET版本中,将Razor视图呈现为字符串是可能的,尽管不是很简单。 我看起来的方法是使用假控制器,或者使用像RazorEngine这样的外部引擎。 现在,ASP.NET 5改变了很多东西,我想知道这是否比以前更简单。 所以在框架的新版本中有一种直接的方式将Razor视图呈现为字符串,或者我们仍然需要使用以前版本中的方法?