跪求:asp.netMVC3 WebGrid问题
大家好,我使用WebGrid的Code:<% var grid = new WebGrid(source: Model, defaultSort: "Name", rowsPerPage: 5); %>
<%=grid.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column(format: (item) => Html.ActionLink("Edit", "Edit")),
grid.Column(format: (item) => Html.ActionLink("Delete", "Delete")),
grid.Column("Name", "姓名"),
grid.Column("Sex", "性别")
)
)
%>
其中的Model是 Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcWebGrid.Models.Account>>"定义的。
那现在如果我想在一个页面放置多个WebGrid控件,并且数据源都是不同的,改怎么办?
有没一种方式可以直接通过URL到Controllers中得到数据源.
请各位大神不吝赐教,谢谢!! --------------------编程问答-------------------- 解决方法有两个
1自定义MODEL
<% var grid = new WebGrid(source: Model.List1, defaultSort: "Name", rowsPerPage: 5); %>
<% var grid = new WebGrid(source: Model.List2, defaultSort: "Name", rowsPerPage: 5); %>
pulic class indexmodel{
public list<xx> List1{get;set}
public list<xx> List1{get;set}
}
2 用 viewdata["xx"]=xxlist;
<% var grid = new WebGrid(source:viewdata["xx"] as Listxx , defaultSort: "Name", rowsPerPage: 5); %>
--------------------编程问答-------------------- 多个webgrid建议用ajax分成几次获取
每次获取都返回一个PartialView,每个PartialView里放一个webgrid这样model就可以分别传对应的即可
这样还可以重用 --------------------编程问答--------------------
谢谢您的回复,请问有简单代码之类的可以参考下吗?谢谢!! --------------------编程问答--------------------
非常感谢您的回复,请问能有一种方式可以直接通过URL到Controllers中得到数据源吗?我觉得这样可能会比较灵活一些。谢谢!! --------------------编程问答--------------------
楼主可以使用VIEWDATA 我感觉这样是比较灵活的
不过没用自定义MDEL的可扩展性
至于partialView适合模块化但如果作为一个整体的操作不太合适
<% var grid = new WebGrid(source: ViewData["xx"] as List<T>, defaultSort: "Name", rowsPerPage: 5); %>
有些东西只是思想的转换不一定你现在认为不好的东西以后也认为不好。
补充:.NET技术 , ASP.NET