作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获取正确的输入名称,以便我的 View 模型上的对象集合可以被绑定(bind)。
@{ViewData.TemplateInfo.HtmlFieldPrefix = listName;}
@Html.EditorFor(m => m, "DoubleTemplate", new {
Name = listName,
Index = i,
Switcher = (YearOfProgram >= i +1)
})
正如您在此处看到的,我传入“listName”作为模板的前缀,listName =“MyItems”的值。
@model Web.Models.ListElement
@if (ViewData["Switcher"] != null)
{
var IsVisible = (bool)ViewData["Switcher"];
var index = (int)ViewData["Index"];
var thisName = (string)ViewData["Name"] + "[" + index + "].Value";
var thisId = (string)ViewData["Name"] + "_" + index + "__Value";
if (IsVisible)
{
@*<input type="text" value="@Model.Value" name="@thisName" id ="@thisId" class="cell@(index + 1)"/>*@
@Html.TextBoxFor(m => m.Value, new { @class ="cell" + (index + 1)})
@Html.ValidationMessageFor(m => m.Value)
}
}
但是我发现生成的名字变成了这样:
MyItems.[0].Value
Html.Partial(Model, "_MyPartialView");
在部分 View 中:
@model MvcApplication1.Models.MyModel
<h2>My Partial View</h2>
@Html.EditorFor(m => m.MyProperty)
这是我的模板:
@model MvcApplication1.Models.ListElement
@Html.TextBoxFor(m => m.Value)
这是我的模型:
public class MyModel
{
private List<ListElement> myProperty;
public List<ListElement> MyProperty
{
get
{
if (myProperty == null)
{
this.myProperty = new List<ListElement>() { new ListElement() { Value = 12 }, new ListElement() { Value = 13 }, new ListElement() { Value = 14 }, new ListElement() { Value = 15 }, };
}
return this.myProperty;
}
set
{
this.myProperty = value;
}
}
}
public class ListElement
{
[Range(0, 999)]
public double Value { get; set; }
}
这是我的 Controller :
public ActionResult MyAction()
{
return View(new MyModel());
}
它只为我生成原始文本(“12131415”),而不是用 12 13 14 15 填充的想要的文本框。
The template view expecting ListElement, and cannot convert
List<ListElement> into ListElement.
最佳答案
@Html.Partial("_SeatTypePrices", Model.SeatTypePrices, new ViewDataDictionary
{
TemplateInfo = new TemplateInfo() {HtmlFieldPrefix = nameof(Model.SeatTypePrices)}
})
@model List
@Html.EditorForModel()
@using Cinema.Web.Helpers
@model Cinema.DataAccess.SectorTypePrice
@Html.TextBoxFor(x => Model.Price)
EditorForModel()
来自您的
EditorTemplates
文件夹。
关于asp.net-mvc-4 - MVC4 ViewData.TemplateInfo.HtmlFieldPrefix 生成一个额外的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25719947/
如何更改 HtmlFieldPrefix 的索引? 我正在从 EditorFor() 获取 Children[0],我想将其设为 Children[@Model.Id] 或来自 EditorFor()
我正在尝试获取正确的输入名称,以便我的 View 模型上的对象集合可以被绑定(bind)。 @{ViewData.TemplateInfo.HtmlFieldPrefix = listName;
我正在将 Web 应用程序迁移到 .NET Core,它使用一些 Razor 编辑器模板用于特定输入类型(例如,为任何 date 模型属性输出 DateTime 输入)。 几个模板使用以下方法来获取
我已经为 iOS 创建了一个 Xcode 4 项目模板,需要引用 sqlite3.dylib。如果我在模板的 Definitions 元素中将 sqlite3.dylib 的 PathType 设置为
我是一名优秀的程序员,十分优秀!