在@html.actionlink()中传递多个参数

one*_*com 1 asp.net-mvc actionlink razor asp.net-mvc-4

我正在使用actionlink将参数"code"传递给项目的控制器,并在新视图上获取该项目的详细信息(实际上,它是调用3个部分视图的控制器)

我还需要传递参数"description",但这只是一个需要在新视图中显示的值,并且在控制器中没有用(我使用"代码"来过滤数据库记录).

@foreach (var item in Model.MyModel)
{
  <tr>
    <td>
      @Html.ActionLink(item.code, "Index", "ControlerName", new { pos = item.code.ToString(), desc = item.desc.ToString() }, null)
</td>
Run Code Online (Sandbox Code Playgroud)

}

这个actionlink给我url/ControlerName?pos = code&desc = desc

有没有办法发送"desc"参数,所以它不会在网址中看到,但只显示在新视图中?

Den*_*ngo 9

您必须像传递参数一样传递参数,以便其他控制器和视图知道正在保留的数据.

另一种方法是将您的描述存储在您可以识别的"查找表"中id,因此您只需要通过该查找表,id它将是Controller'sViewModel's负责查找它.

@Html.ActionLink(item.code, "Index", "ControllerName", new { id=1 }, null)
Run Code Online (Sandbox Code Playgroud)

控制器:

public ActionResult Index(int id) {
    // Go to DB and get the description by id.
}
Run Code Online (Sandbox Code Playgroud)