我目前使用此tutorial。Asp.Net MVC强类型集合。 EditorFor不附加生成的前缀
(我相信我的问题是由什么我已经看到在互联网上与强类型集合......,但我可能是错的)
请多多包涵。 :)
我一直有这个问题,我问另一个question,答案似乎很好,但经过修改代码多一点我意识到问题是,使用我的自定义字段部分视图,例如,不会为其添加前缀,例如,使用TextBoxFor html助手的字段。例如。当我点击添加一个新项目时,它会添加一个新项目,但是与之前添加的项目具有相同的ID,那么我的Javascript会失败,因为有两个项目具有相同的ID。
一些代码,试图澄清这一问题
管窥
@model Portal.ViewModels.Micros
@using Portal.Helpers
<div class="editorRow" style="padding-left:5px">
@using (Html.BeginCollectionItem("micros"))
{
@Html.EditorFor(model => model.Lab_T_ID)
@Html.EditorFor(model => model.Lab_SD_ID)
@Html.TextBoxFor(model => model.Result)
<input type="button" class="deleteRow" title="Delete" value="Delete" />
}
</div>
的TextBoxFor(结果)被呈现为
<input id="micros_5e14bae5-df1b-4c42-9e96-573a8e52f8b2__Result" name="micros[5e14bae5-df1b-4c42-9e96-573a8e52f8b2].Result" type="text" value="">
编辑为得到呈现为
<select id="Lab_SD_ID" multiple="multiple" style="width: 300px; display: none; " >
<option value="5" selected="selected">Taken at Packing 1</option>
<option value="6">Taken at Packing 2</option>
<option value="7">Taken at Packing 3</option>
</select>
<button type="button" class="ui-multiselect ui-widget ui-state-default ui-corner-all" aria-haspopup="true" tabindex="0" style="width: 300px; ">
<span class="ui-icon ui-icon-triangle-2-n-s"></span><span>Taken at Packing (Winc 4/5-25d)</span></button>
如果需要的话,我可以包含更多的代码,还有一个辅助类(BeginCollectionItem),我也使用它,它位于教程的演示项目中。
我基本上需要找出“micros [5e14bae5-df1b-4c42-9e96-573a8e52f8b2]”。被追加到输入框,据我所知,但一直难住到目前为止:/
谢谢你..不过这事变得荒唐了,感觉就像我一直接受了一整天的训练......我可以给你买一杯啤酒什么的? – 2012-03-14 13:31:46