我有一個模型有2個屬性:string
和IEnumerable<SomeModel>
。如果我通過UiHint
爲string
指定了editortemplate,則會應用它。但是當我指定它爲IEnumerable<SomeModel>
屬性時,沒有任何反應。 IEnumerable有什麼特別之處嗎?IEnumerable的ASP.NET MVC EditorTemplate
0
A
回答
0
如果我正確理解你的問題,你需要你的IEnumerable
與IList
來代替,然後用下面的辦法:
public class OrderDTO
{
...
public IList<OrderLineDTO> Lines { get; set; }
...
}
public class OrderLineDTO
{
public int ProductID { get; set; }
...
[Range(0, 1000)]
public int Quantity { get; set; }
...
}
...
@for (int i = 0; i < Model.Lines.Count; ++i)
{
...
@Html.EditorFor(x => x.Lines[i].Quantity)
...
}
...
工程與MVC 4
0
你HintTemplate模式應該是IEnumerable<SomeModel>
(你將在編輯器模板中迭代模型)。或者,也可以不使用UIHint批註,而是使用集合屬性上的EditorFor(在這種情況下,EditorTemplate模型將爲SomeModel;視圖語法中不包含迭代)。我如果你的模型看起來像
public class TestModel
{
public string ParentName { get; set; }
[UIHint("HintTemplate")]
public IEnumerable<TestChildModel> children { get; set; }
}
ChildModel
提供了類似的答覆 in this post
public class TestChildModel
{
public int id { get; set; }
public string ChildName { get; set; }
}
你HintTemplate.cshtml應該像
@model IEnumerable<MVC3.Models.TestChildModel>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>HintTemplate</title>
</head>
<body>
@foreach(var a in Model)
{
<div style="background-color:#4cff00">
@Html.DisplayFor(m => a.ChildName)
@Html.EditorFor(m => a.ChildName)
</div>
}
</body>
</html>
你的看法
@model MVC3.Models.TestModel
@{
ViewBag.Title = "Test";
}
<h2>Test</h2>
<div>
@Html.LabelFor(a => a.ParentName)
@Html.EditorFor(a => a.ParentName)
</div>
<div>
@Html.LabelFor(a => a.children)
@Html.EditorFor(a => a.children)
</div>
相關問題
- 1. ASP.NET MVC:從EditorTemplate
- 2. IEnumerable的財產與MVC3 EditorTemplate
- 3. 未使用ASP.NET MVC EditorTemplate
- 4. ASP.NET MVC EditorTemplate子文件夾
- 5. ASP.Net MVC 2 DropDownListFor在EditorTemplate
- 6. ASP.Net MVC EditorTemplate錯誤Id
- 7. Asp.Net MVC EditorTemplate模型後
- 8. asp.net MVC DisplayTemplates和EditorTemplate命名約定
- 9. Asp.net MVC所見即所得EditorTemplate
- 10. Asp.net MVC。在EditorTemplate或@ Html.Action重名/部分
- 11. ASP.NET MVC:如何使用多個EditorTemplate?
- 12. asp.net MVC通過通用模型EditorTemplate UIHint
- 13. mvc EditorTemplate DisplayMod
- 14. MVC EditorTemplate或HtmlHelper
- 15. ASP.NET EditorTemplate DropdownList
- 16. mvc razor腳本editortemplate
- 17. 如何爲IEnumerable <MyModel>提供EditorTemplate?
- 18. EditorTemplate中的MVC字典
- 19. ASP.NET MVC IEnumerable的問題進行的RenderPartial
- 20. foreach所IEnumerable的財產和CheckBoxFor在ASP.Net MVC
- 21. Telerik MVC EditorTemplate模型爲空
- 22. MVC 4 Html.Editor忽略EditorTemplate
- 23. 未在ASP.NET MVC 3中調用「Floats」的EditorTemplate
- 24. 可以在ASP.NET MVC的EditorTemplate中渲染另一個視圖
- 25. 在動作結果返回的EditorTemplate作爲PartialView - ASP.Net MVC 2
- 26. 在ASP.NET MVC POST中綁定IEnumerable?
- 27. asp.net MVC 3剃鬚刀自IEnumerable
- 28. ASP.NET MVC 5:DatePicker EditorTemplate錯誤,無法顯示多次
- 29. ASP.Net MVC 3 EditorTemplate爲日期時間字段錯誤
- 30. ValidationMessage在自定義asp.net mvc 2中沒有顯示editortemplate
無法編輯一般的IEnumerable!如果您對實際屬性一無所知,您將使用什麼樣的控制? –
2012-07-14 20:44:27
@RicardoPeres,我知道SomeModel屬性 – SiberianGuy 2012-07-14 20:46:27