나는 만들려고 할 때 매우 단순하지만 내 마음 속에는 단순하게 만들고 싶습니다. MVC ASP.NET 환경에서 하나의 모델을 만들지 만 여러 번 렌더링하려고합니다. 그것은 작동하지만 내가 다시 데이터를 얻으려고하면 나는 아무것도 없다. 이 같은 모델의 모양을동일한 모델, 한 번에 여러 번보기 ASP.NET MVC
public class HardwareModel
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
...
}
래퍼의 모습 :
public class WrapperModel
{
public List<HardwareModel> HardwareList { get; set; }
public WrapperModel()
{
HardwareList = new List<HardwareModel>();
}
}
컨트롤러 :
readonly Hardware _hardware = new Hardware();
[Authorize]
public ActionResult Index()
{
return View(_hardware.GetHardwareList(int.Parse(Session["idEmployee"].ToString())));
}
[HttpPost]
[Authorize]
public ActionResult Index(WrapperModel model)
{
return View(model);
}
그리고보기 : 그래서
<% using (Html.BeginForm())
{%>
<% foreach (var hardware in Model.HardwareList)
{%>
<tr>
<td>
<div class="editor-label">
<%: Html.LabelFor(m => hardware.SelectedHardwareType) %>
</div>
<div class="editor-field">
<%: Html.DropDownListFor(m => hardware.SelectedHardwareType, hardware.Hardwaretypes) %>
</div>
...
결과 일부는
렌더링은 정확히 원하는 것이지만 문제는 내가 저장 버튼을 누르면 제어기의 두 번째 부분이 사용되지만 "WrapperModel model"의 값은 빈 List입니다. Request 값에서 모든 것이 컨트롤러로 보내지지만 WrapperModel에서는 일치하지 않는다는 것을 알 수 있습니다.
"HardwareModel"의 수가 0 또는 99 일 수 있기 때문에 어떻게해야할지 모르겠으므로 HardwareModel1, HardwareModel2 ...을 (를) 만들 수 없습니다. 웹에서 읽은 것처럼 말입니다.
긴 게시물을 보내 주셔서 감사 드리며 죄송합니다.
응답 해 주셔서 감사 드리며, 지금 당장이 작업을 수행하고 추가 할 부분을 확인하려고했습니다. –
이 작품은 대단히 고마워. 내 MVC2 아키텍처 용 Razor synthax를 변형 시켰으며 모든 것이 잘 작동합니다. –