부분보기가 작동하는 데 문제가 있습니다. 부분보기에는 다른 텍스트 상자와 함께 격자 패널이 포함되어 있습니다. 그리드를 채울 사용자 지정 개체 목록 및 텍스트 상자를 채울 일부 문자열 속성이있는 사용자 지정 모델 클래스가 있습니다. .DataSource (Model.MyList)를 사용하여 gridpanel을 채우지 만 null 참조 예외가 계속 발생합니다. 객체는 객체의 인스턴스로 설정되지 않습니다. 데이터 소스 줄을 제거하면 그리드에 아무런 데이터없이 올바르게 렌더링됩니다. 다른 필드는 올바르게 채워집니다. 모델 여기복잡한 모델 유형의 데이터 소스를 사용하는 ext.net mvc gridpanel
@(x.FormPanel()
.ID("MyDetailsPanel")
.Title("My Details")
.Frame(true)
.Height(525)
.Width(425)
.Margin(5)
.Items(
x.TextFieldFor(m => m.Title)
.FieldLabel("Title")
.AnchorHorizontal("100%"),
x.TextField()
.FieldLabel("Number")
.AnchorHorizontal("100%"),
x.ComboBox()
.FieldLabel("Type")
.AnchorHorizontal("100%"),
x.GridPanel()
.Title("My Grid")
.Frame(true)
.Width(400)
.Height(350)
.Store(
x.Store()
.AutoLoad(true)
.ID("MyStore")
.DataSource(Model.MyList)
.Model(
x.Model()
.Fields(
x.ModelField().Name("Number").Type(ModelFieldType.String),
x.ModelField().Name("Title").Type(ModelFieldType.String)
)
......
입니다 - - 여기
은 몇 가지 예제 코드입니다public class MyDetailsViewModel
{
public int Id { get; set; }
public string Title { get; set; }
public List<SomeDto> MyList { get; set; }
}
여기에 컨트롤러 -
가public ActionResult MyDetailsPartial(string id)
{
var vm = new MyDetailsViewModel();
vm.MyList = new List<SomeDto>();
if(id != null)
{
vm.Title = "new title";
vm.MyList.Add(new SomeDto { Number = "234", Title = "abcd"});
}
ViewData.Model = vm;
var pvr = new Ext.Net.MVC.PartialViewResult
{
ViewData = this.ViewData
};
return pvr;
}
내가 이해할 수없는 이유를 내가 할 수있는 모델에서 사용자 정의 목록을 gridpanel의 데이터 소스로 전달하지 않습니다.
어떤 생각이라도 좋을 것입니다.