Hi; все виды решений, связывающих статические модели webgrid данных. Но мои данные динамичны. Пожалуйста, не говорите: зачем вы используете DataTable? Как связать динамическую модель json в asp.net mvc 3?
Контроллер:
[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);.
ОШИБКА:
RunTimeBinderException: Лучший перегруженный метод подходит для «System.Web.Helpers.WebGrid.WebGrid (System.Collections.Generic.IEnumerable, System.Collections.Generic.IEnumerable, строка, INT, BOOL , BOOL, строка, строка, строка, строка, строка, строка, строка)»имеет некоторые недопустимые аргументы
Прежде всего я хотел бы сказать спасибо, но у меня есть 2 вопроса: моя проблема - это бритва, я понятия не имею, что бритва я не могу перевести aspx engine <%%> синтаксис view model :( – programmerist
@programmerist, какие проблемы у вас возникают с синтаксисом WebForms? Вы просто заменяете '@' в мой код с '<% %>'. Я обновил свой ответ. –
Я не могу понять. Почему вы не использовать любое значение public IEnumerable