0

ウェブグリッドの個々の行にリンクを追加しようとしています。コードは次のとおりです。

@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 に答える