0
HTML 양식을 사용하여 그리드에서 데이터를 보내려고합니다. 나는 텍스트를 입력 할 때검도 그리드를 양식으로 보내기
@model Exam
@using (Html.BeginForm("Add", "Exams", FormMethod.Post))
{
@Html.TextBoxFor(m => m.Name)
@(Html.Kendo().Grid<Question>(Model.AvailableQuestions)
.Name("availableQuestionsGrid")
.Columns(columns =>
{
columns.Bound(c => c.Id);
columns.Bound(c => c.Content);
columns.Bound(c => c.Points);
columns.Template(@<text>/text>).ClientTemplate(@"<a class=""k-button-icontext k-grid-edit"" href=""\#"">Edit</a> | <a class=""k-button-icontext k-grid-delete"" href=""\#"">Delete</a>").Width(100);
})
.Editable(editable => editable.Mode(GridEditMode.PopUp))
.ToolBar(toolbar => toolbar.Template(@"<a class='k-button k-button-icontext k-grid-add' href='/Exams/Add?grid-mode=insert'><span class='k-icon k-add'></span>Add</a>"))
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.Model(model => model.Id(p => p.Id))
.ServerOperation(false))
)
<input type="submit" value="Save">
}
는, 그리드에 몇 가지 질문을 추가하고 다음을 클릭합니다 : 내보기에이 같은 양식을 가지고
public class Exam
{
public int Id { get; set; }
public string Name { get; set; }
public int Duration { get; set; }
public virtual List<Question> AvailableQuestions { get; set; }
}
public class Question
{
public int Id { get; set; }
public string Content { get; set; }
public int Points { get; set; }
}
지금 :
내 모델이 유사하다 "저장"버튼 내 이름 필드가 바인딩되어 있지만 AvailableQuestions 목록은 항상 null입니다.
양식을 제출할 때 그리드에서 컨트롤러로 데이터를 전달할 수 있습니까?
는
해당 코드 라이브러리 페이지에 나열된 단점을주의 깊게 확인하십시오. 이 기법은 작은 단일 페이지 데이터 세트에서만 실제로 작동하며 서버의 새 행이나 변경된 행이 아닌 모든 행을 처리해야합니다. –