0

我正在尝试将链接添加到我的 webgrid 中的各个行。这是代码:

@gridModel1.GetHtml(columns: new[] {
  gridModel1.Column("id"),
  gridModel1.Column("Column2"),
  gridModel1.Column("Column3")
})

表格显示如下:

    id   |  Column2  |  Column3
-------------------------------
    1    |   Stuff   |   Stuff   
-------------------------------
    2    |   Stuff   |   Stuff   
-------------------------------
    3    |   Stuff   |   Stuff   

我还有另一张桌子在这张桌子的右边。右边的这个表应该有根据用户在我上面显示的表中选择的内容填充的信息。

我想在每一行中都有一个链接,以便在单击它时将 id 发送回我的控制器,以便我的控制器可以根据该 id 在我的视图中填充另一个表。

- -编辑 - -

我想出了如何让链接正常工作,但现在我在弄清楚如何在我的控制器中操作它以显示仅与我的 id 相关的信息时遇到了问题。

这是我的控制器:

public ActionResult Index()
{

    // Model1 is the model the table that will be displayed and holds the  
    // id needed to manipulate Model2 
    Model1Repository Model1 = new Model1Repository();
    var Model1RepositorySQL = repoClient.All();

    // Model2 is the table that i need to display the information only 
    // selected from the row selected in Model1 and with the code i have  
    // now it just displays all information
    Model2Repository Model2 = new Model2Repository();
    var Model2RepositorySQL = Model2Repository.All();

    return View(new ParentModelView { Model1 = Model1RepositorySQL, Model2 = 
    Model2RepositorySQL });
 }

有没有人对我如何能够显示与第一个模型具有相同 id 的信息有任何想法?

任何帮助将不胜感激,因为我是使用 webgrid 和 MVC 的新手。谢谢!

4

1 回答 1

1

这是尽可能接近网格内的链接,而不需要有关其余代码的更多详细信息。我希望它有所帮助。

@gridModel1.GetHtml(columns: new[] {
  gridModel1.Column("id"),
  grid.Column(header: "Column2", format: item => new HtmlString(
           Html.ActionLink((string)item.Column2.ToString(), "Column2ControllerAction", new { id = item.Id } ).ToString())),
  grid.Column(header: "Column3", format: item => new HtmlString(
           Html.ActionLink((string)item.Column3.ToString(), "Column3ControllerAction", new { id = item.Id } ).ToString()))
})
于 2013-08-02T18:00:45.267 回答