【发布时间】:2012-06-21 08:02:39
【问题描述】:
我有以下代码在 Razor 视图中用于为 DevExpress GridView MVC 扩展配置网格设置。代码一切都很好,但现在我希望从网格中导出数据,这需要“服务器”上的相同配置代码,即视图的上游。我可以很容易地做到这一点,并在我的视图模型上提供一个 GridSettings 属性,如果它不是对WebViewPage<TModel>.ViewContext 属性的必需访问。
现在我正在使用一个非常丑陋的解决方法并将ViewContext 从视图传递回控制器;然后控制器构建网格设置。不用说在控制器上调用方法的视图是相当臭的。
settings.Columns.Add(column =>
{
column.Caption = "#";
column.SetDataItemTemplateContent(c =>
{
ViewContext.Writer.Write(
Html.ActionLink("Edit", "Edit", new {id = DataBinder.Eval(c.DataItem, "Id")}) + " " +
Html.ActionLink("Delete", "Delete", new {id = DataBinder.Eval(c.DataItem, "Id")},
new {onclick = "return confirm('Do you really want to delete this record? [Just say no!]')"})
);
});
column.SetHeaderTemplateContent(c => ViewContext.Writer.Write(Html.ActionLink("New", "Create")));
column.Settings.AllowDragDrop = DefaultBoolean.False;
column.Settings.AllowSort = DefaultBoolean.False;
column.Width = 70;
});
settings.Columns.Add("RefNum", "Emp. No.");
【问题讨论】:
-
错误:“ ”应该是“ ”
-
@usr,很有趣,我从来没有注意到这个错误,谢谢,因为 Chrome 会插入一个空格,即使没有空格,默认样式也会将
<a>标签留出足够的空间,以至于不会注意到。
标签: asp.net-mvc asp.net-mvc-3 devexpress