添加指向webgrid ASP.NET MVC3的链接

时间:2013-08-02 15:57:10

标签: asp.net-mvc-3 webgrid

我正在尝试在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填充我视图中的另一个表。

--- --- EDIT

我想出了如何让链接工作,但现在我遇到了一个问题,想弄清楚如何在我的控制器中操作它以显示仅与我的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的新手。谢谢!

1 个答案:

答案 0 :(得分: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()))
})