将元组模型传递给MVC网格

时间:2017-06-27 08:10:20

标签: asp.net-mvc

我有元组视图模型包含版本列表和User列表。这个元组值我必须将它传递给MVC网格。

Index.cshtml页面

@model Tuple<IEnumerable<Version>,IEnumerable<user>>
@Html.Grid(Model.Item1.AsEnumerable()).Columns(columns =>
{
   columns.Add(c => c.VersionId).Titled("Version Id");
   columns.Add(c => c.VersionName).Titled("Version Name").Filterable(true);
   columns.Add(c => c.Description).Titled("Description");
}).WithPaging(20).Sortable(true)

Controller.cs

public ActionResult Index()
      {
        List<version> versionList = null;
        List<user> userList = null;
        versionList = _settingsRepo.GetVersionList();
        userList = _settingsRepo.GetUserList();
        var tuple = Tuple.Create<List<version>, List<user>>(versionList, 
        userList);
        return View(tuple);
      }  

面对错误&#34; &#39;版本&#39;不包含&Version; VersionId&#39;的定义并且没有扩展方法&#39; VersionId&#39;接受类型&#39;版本&#39;的第一个参数。可以找到(你是否错过了使用指令或汇编引用?)&#34; at column columns.Add(c =&gt; c.VersionId).Titled(&#34; Version Id&#34;)在Index.cshtml页面中。

1 个答案:

答案 0 :(得分:0)

在您的视图中,您有

@model Tuple<IEnumerable<Version>,IEnumerable<user>>

而您的控制器定义为

var tuple = Tuple.Create<List<version>, List<user>>(versionList, 
    userList);

更新视图以使用小写版本类