사이드 와이드 ViewDataDictionary에 사용자 지정 속성을 추가하는 가장 유용한 방법은 무엇입니까?CustomViewData에 가장 좋은 방법은 무엇입니까?
public class CustomDataDictionary : ViewDataDictionary
{
public string Title { get; set; }
}
public class ApplicationController : Controller
{
public new CustomDataDictionary ViewData { get; set;}
}
내가 있으리라 믿고있어 :
public ActionResult Index()
{
// ViewData["Title"] = "Home";
ViewData.Title = "Home";
return View();
}
마음에 오는 첫번째 것은이 응용 프로그램의 기본 컨트롤러에서 사용자 정의 클래스와 "새"를 사용하는 것입니다 :
의 간단한 경우를 가정 해 봅시다 또한 뷰에서 사용자 정의보기 데이터 사전을 사용하기 위해 동일한 특성을 갖는 해당 CustomViewPage를 작성해야합니다.
두 번째로 염두에 두어야 할 것은 ViewDataDictionaryExtensions 클래스를 만드는 것입니다.
셋째, "모델보기"를 사용하십시오. 뷰 모델을 사용하는 나의 쇠고기는 항상 하나를 만들고보기로 전달하는 것이 적어도 이전 두 가지 옵션에 비해 컨트롤러 코드에서 계속해서 반복되는 것처럼 보입니다.
실제 목표는 각 응용 프로그램이 해당 응용 프로그램 목적에 적합한 ViewData의 핵심 속성 집합을 가질 수 있다는 것입니다. 필자는 사전 키를 사용하지 않기를 바라고, 다른 개발자가 설정할 데이터를 알기 위해 실제 속성을 사용하는 것이 좋을 것입니다. 또한 키의 철자를 잘못 입력 할 수도 있습니다.
세 가지 방법 모두 작업을 완료합니다. 다른 사람들은 무엇을 했습니까?
는 "그것은을 위해 무엇 상수입니다." 약 50 개가 될 때까지 대단한 것 같습니다. 해시 키 이름에 대해 상수를 사용하기 시작하면 정말 빠릅니다. 확장 속성 만있는 경우 확장은 gret ...입니다. Get/Set ala SmartBag는 익숙하지 않은 코더에게 해결할 문제에 대해 많은 것을 말하지 않습니다. 컨트롤러 메서드는 괜찮을 것이지만 컨트롤러의 속성임을 암시하는 것은 사실이 아닙니다. 액션 뷰 데이터의 속성입니다. – claco