Добавить ссылки на веб-сетку ASP.NET MVC3

Я пытаюсь добавить ссылки на отдельные строки в своей сетке. Вот код:

@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   

У меня также есть еще одна таблица, которая находится справа от этой таблицы. Предполагается, что эта таблица справа содержит информацию, которая заполняется на основе того, что пользователь выбирает в таблице, которую я показал выше.

Я хотел бы иметь ссылку в каждой строке, чтобы при нажатии она отправляла идентификатор обратно моему контроллеру, чтобы мой контроллер мог заполнить другую таблицу в моем представлении на основе этого идентификатора.

--- ИЗМЕНИТЬ ---

Я понял, как заставить ссылку работать, но теперь у меня возникла проблема с выяснением, как управлять ею в моем контроллере, чтобы показать информацию, которая связана только с моим идентификатором.

Вот мой контроллер:

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 });
 }

Есть ли у кого-нибудь идеи относительно того, как я могу отображать информацию, которая имеет только тот же идентификатор, что и первая модель?

Любая помощь будет очень признательна, поскольку я новичок в использовании webgrid и MVC. Спасибо!


person scapegoat17    schedule 02.08.2013    source источник


Ответы (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()))
})
person Splendor    schedule 02.08.2013
comment
Спасибо за ответ! Я решил пойти другим путем, чем вы описали выше. Я использовал следующий метод, найденный здесь: dotnetcurry.com/ShowArticle.aspx?ID=655I Что, как мне кажется, возвращает URL-адрес информации в строке. Мне было интересно, есть ли у вас идеи решить мою проблему с помощью вышеуказанного редактирования? Спасибо еще раз! - person scapegoat17; 03.08.2013