我正在开发一个asp.net mvc-4 Web应用程序。我想将一个对象列表发送到我的视图,并使用Html.Display
和Html.Editor
模板显示它们,但该值将为空。
这是我的模特课: -
public partial class TTTSet
{
public int ID { get; set; }
public string Name { get; set; }
public string Value { get; set; }
}
这是我的行动方法: -
public ActionResult OrderSettings()
{
var result = repository.PopulateOrderSettings().ToList();
return View(result);
}
存储库方法: -
public IQueryable<TTTSet> PopulateOrderSettings()
{
return TTT.TTTSets.Where(a =>
a.Name.ToLower() == "orderformat"
||
a.Name.ToLower() == ("cmread")
||
a.Name.ToLower() == ("cmedit")
||
a.Name.ToLower() == ("aread")
||
a.Name.ToLower() == ("aedit")
||
a.Name.ToLower() == ("sread")
||
a.Name.ToLower() == ("sedit")
);
我的观点如下: -
@model IList<TTT.Models.TTTSet>
int i = 0;
foreach(var s in Model)
{
@Html.Hidden("TTTSet[" + i.ToString() + "].ID",s.ID)
@Html.Display("TTTSet[" + i.ToString() + "].Name",s.Name) <text>|</text> @Html.Editor("TTTSet[" + i.ToString() + "].Value",s.Value)
i++;
}
但最终结果将是Html.Display
&amp; Html.Editor
将显示空结果,如下所示,而Html.Hidden
运行良好,这是标记: -
<input id="TTTSet_0__ID" name="TTTSet[0].ID" type="hidden" value="105" /> | <input class="text-box single-line" id="TTTSet_0__Value" name="TTTSet[0].Value" type="text" value="" /><input id="TTTSet_1__ID" name="TTTSet[1].ID" type="hidden" value="106" /> | <input class="text-box single-line" id="TTTSet_1__Value" name="TTTSet[1].Value" type="text" value="" /><input id="TTTSet_2__ID" name="TTTSet[2].ID" type="hidden" value="107" /> | <input class="text-box single-line" id="TTTSet_2__Value" name="TTTSet[2].Value" type="text" value="" /><input id="TTTSet_3__ID" name="TTTSet[3].ID" type="hidden" value="108" /> | <input class="text-box single-line" id="TTTSet_3__Value" name="TTTSet[3].Value" type="text" value="" /><input id="TTTSet_4__ID" name="TTTSet[4].ID" type="hidden" value="109" /> | <input class="text-box single-line" id="TTTSet_4__Value" name="TTTSet[4].Value" type="text" value="" /><input id="TTTSet_5__ID" name="TTTSet[5].ID" type="hidden" value="110" /> | <input class="text-box single-line" id="TTTSet_5__Value" name="TTTSet[5].Value" type="text" value="" /><input id="TTTSet_6__ID" name="TTTSet[6].ID" type="hidden" value="111" /> | <input class="text-box single-line" id="TTTSet_6__Value" name="TTTSet[6].Value" type="text" value="" />
任何人都可以请求,为什么价值和名称没有显示?可能问题是我的模型类有它的名为Name&amp;的属性。与html助手使用的内部名称冲突的值?因为ID显示得很好,如标记所示..