컴퓨터 지원 사고 관리 시스템에서 작업하고 있습니다.ASP.NET MVC 3에있는 단추 집합을 제시하고 레이아웃
현재 사건에 대한 Review
보기는 다음과 같은 논리의 도움으로보기에 "렌더링"몇 가지 사건 조작 버튼을 포함
뷰의 모델인지 알 수있는 여러 가지 방법을 포함 어떤 동작은 이러한 방법의 결과에 따라 현재 관점에서이 입사
A part ViewModel to which the Review view is bound:
...
public bool CanContactUser()
{
return _manager.CanContactUser(Incident, User);
}
public bool CanComment()
{
return _manager.CanSetComment(Incident);
}
...
에서 실행되는 것이 허용되며, 이상적 상대 실제 버튼 cular 조치가 표시되거나 표시되지 않습니다.
...
@if (Model.CanContactUser())
{
@Html.MakePopupForm("ContactUser", new[] { "id" }, title: "Register user contact", refreshOnSuccess: true, okText: "Save", cancelText: "Cancel", resizable: false)
}
@if (Model.CanComment())
{
@Html.MakePopupForm("Comment", new[] { "id" }, title: "Comment", refreshOnSuccess: true, okText: "Save", cancelText: "Cancel", resizable: false)
}
...
나는 이것이 나쁜 습관이라고 생각합니다. 그것이 작동하더라도, 나는 (C# 코드에서) 메모리에 사용 가능한 버튼들의 모음을 가지고 있고, ViewModel 클래스 인스턴스에서 추측하고,이 콜렉션을 렌더링하기 위해 뷰를 bind한다.
어떻게 달성 할 수 있습니까? 뷰를 특히 버튼 모음에 바인딩합니다. List<AvailableButton> buttonsToRenderAsHtml
의 추상 콜렉션을 생성 할 수 있습니다 ... 그러나 어떻게 면도기를 링크하여 제어 된 방식으로 표시합니까?
해당 양식이 도우미에서 렌더링 될 수 있는지 확인할 수 있습니다. 열거 형 값을 보내고 그 뷰가 부분 뷰를 렌더링 할 수 있는지 확인하십시오. – Yorgo
List을 렌더링하는 방법을 알고 자하는 부분 뷰에 뭔가가 있어야합니다. 문제는 무엇입니까? 그것은 내가 상상할 수있는 것에서 꽤 간단해야합니다. –