webgrid прост в использовании, в mvc3, но параметр слишком много , каждой странице нужно установить параметр, так ужасно,
Есть ли способ исправить несколько параметров в шаблонах, например, чтобы исправить:
tableStyle: "webgrid-table"
, headerStyle: "webgrid-header"
, alternatingRowStyle: "alt"
, selectedRowStyle: ""
, displayHeader: true
, numericLinksCount: 10
, footerStyle: "paging-number"
, rowStyle: "webgrid-row"
и общие столбцы удалить, добавить, редактировать
grid.Column (формат: (элемент) => Html.ActionLink (""
, "добавлять"
, ноль
, new {@class = "webgrid-add", title = "add row", onclick = "return gridop (this);" }))
, grid.Column (формат: (item) => Html.ActionLink (""
, "редактировать"
, ноль
, новый {id = item [0]}
, new {@class = "webgrid-edit", title = "редактировать строку", onclick = "return gridop (this);" }))
, grid.Column (формат: (item) => Html.ActionLink (""
, "Del"
, ноль
, новый {id = item [0]}
, new {@class = "webgrid-del", title = "delete row", onclick = "return gridop (this);" }))
Если завершено до кода , Когда мы будем готовы показать веб-сетку , только для кодирования "showgrid (Model);" на странице;
gridmodel.cshtml
@ модель IEnumerable
@ {
var grid = новая WebGrid (модель, rowPerPage: 10);
if (ViewData.TemplateInfo.TemplateDepth > 1)
{
@ViewData.ModelMetadata.SimpleDisplayText;
}
else
{
List<WebGridColumn> columns = new List<WebGridColumn>();
columns.Add(grid.Column(format: (item) => Html.ActionLink(" "
, "add"
, null
, new { @class = "webgrid-add", title = " 添加新记录!", onclick = "return gridop(this);" })));
columns.Add(grid.Column(format: (item) => Html.ActionLink(" "
, "edit"
, null
, new { @class = "webgrid-edit", title = " 编辑本行记录信息!", onclick = "return gridop(this);" })));
columns.Add(grid.Column(format: (item) => Html.ActionLink(" "
, "del"
, null
, new {id = item[1] }
, new { @class = "webgrid-del", title = " 删除本行记录信息!", onclick = "return gridop(this);" })));
if (ViewData.TemplateInfo.TemplateDepth > 1)
{
@ViewData.ModelMetadata.SimpleDisplayText;
}
else
{
foreach (var item in ViewData.ModelMetadata.Properties.Where(pm => pm.ShowForEdit &&
!ViewData.TemplateInfo.Visited(pm)))
{
if (!item.HideSurroundingHtml)
{
columns.add(new WebGridColumn { ColumnName = item.PropertyName, Header = item.DisplayName });
}
}
}
var a = grid.GetHtml(tableStyle: "webgrid-table"
, headerStyle: "webgrid-header"
, alternatingRowStyle: "alt"
, selectedRowStyle: ""
, displayHeader: true
, caption: "aaaaaaaaaaaaaaaa"
, numericLinksCount: 10
, footerStyle: "paging-number"
, rowStyle: "webgrid-row"
, columns: grid.Columns(columns.ToArray()
)
);
@Html.Raw(a.ToString());
}
}
- это мой код, но ViewData.ModelMetadata.Properties имеет значение null, не может получить item.PropertyName,
item.DisplayName. Я не знаю почему!
Пожалуйста, помогите мне!