대신에 ViewDataDictionary를 작성이 이상 ASP.NET MVC 프레임 워크
public ActionResult Index(string baz)
{
// Do stuff...
ViewData["foo"] = _repository.GetFoos().ToList();
ViewData["bar"] = new string[] { "blah" };
ViewData["baz"] = baz;
return View();
}
난을 ViewData 좀 더 구조화하여 오타 오류를 줄일 수있는 방법에 대해 생각했다, (아직) 다른 ViewModel 클래스를 추가하지 않아도됩니다. 나는 다음을 생각해 냈다 :
public ActionResult Index()
{
var foo = _repository.GetFoos().ToList();
var bar = new string[] { "blah" };
var baz = null;
ViewData = new ViewDataDictionary {
{"foo", foo},
{"bar", bar},
{"baz", baz }
};
return View();
}
public ActionResult Index(string baz)
{
var foo = _repository.GetFoos().ToList();
var bar = new string[] { "blah" };
var baz = null;
// Do Stuff...
ViewData = new ViewDataDictionary {
{"foo", foo},
{"bar", bar},
{"baz", baz}
};
return View();
}
그런 ViewData를 덮어 쓰는 것은 나쁜 생각일까요? 나는 이것이 RenderPartials에 문제를 일으키지 않을 것이라고 확신하지만 뷰에서 RenderAction을 더 이상 호출 할 수 없습니까?
여기서 제안한 것보다보기 모델 방식을 사용합니다. 뷰 모델은 수정해야 할 때 배당금을 지불하는 추상화 계층을 제공합니다. 또한 Intellisense를 제공하고 더 자체적으로 문서화하는 View를 강력하게 입력 할 수 있습니다. 그 외에도 RenderAction을 계속 호출 할 수 있다고 생각합니다. RenderAction 호출에 전달할 데이터/데이터의 사례 일뿐입니다. – ChrisP