안녕하세요; 모든 종류의 솔루션 바인딩 데이터 webgrid 정적 모델. 하지만 내 데이터는 동적입니다. 제발, 왜 DataTable을 사용합니까? asp.net mvc 3 json 동적 모델을 바인딩하는 방법?
컨트롤러 :
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(string submitButton, FormCollection fc)
{
ViewData["Customers"] = new SelectList(CustomerOperation.GetCustomers().Items, "Id", "Name", null);
ViewData["Jobs"] = new SelectList(JobOperation.GetCustomersAssemblyList().Items, "scheduleId", "name", null);
int Id = ConvertUtil.ToInt(fc["Customers"]);
int scheduleId = ConvertUtil.ToInt(fc["Jobs"]);
DataTable dt = JobOperation.GetJobsBySchedulerIdAndCustomerId(scheduleId, Id);
return View(Json(dt,JsonRequestBehavior.AllowGet));
}
보기 :
<%
List<WebGridColumn> cols = new List<WebGridColumn>();
WebGrid grid = null;
if (Model != null)
{
grid = new WebGrid(source: Model.Data, rowsPerPage: 3);
System.Reflection.PropertyInfo[] propertiesofColumn = new System.Reflection.PropertyInfo[] { };
foreach (object column in Model)
{
propertiesofColumn = column.GetType().GetProperties();
}
foreach (System.Reflection.PropertyInfo propInfo in propertiesofColumn)
{
cols.Add(grid.Column(propInfo.Name, propInfo.Name));
}
}
using (Html.BeginForm())
{ %>
오류 그리드에 발생한다 = 새로운 WebGrid (출처 : Model.Data, rowsPerPage : 3);.
ERROR :
RunTimeBinderException : System.Web.Helpers.WebGrid.WebGrid (System.Collections.Generic.IEnumerable, System.Collections.Generic.IEnumerable, 문자열, INT, '에 가장 적합한 오버로드 된 메서드 일치 부울 , 부울, 문자열, 문자열, 문자열, 문자열, 문자열, 문자열, 문자열) '일부 잘못된 인수
DataTable의 사용에 아무 문제가 없다
먼저 내가 말할 것 고마워하지만 난 2 질문 : 내 문제는 면도칼 난 아무 생각도 없다 aspx 엔진 <%%> 구문보기 모델 : ( – programmerist
@programmerist, 어떤 문제가 WebForms 구문을 가지고 있습니까? 내 코드가 '<% %>'입니다. 내 대답을 업데이트했습니다. –
이해할 수 없습니다. 모든 값 사용 public IEnumerable