通过锚标记或任何超链接概念将模型或多个参数传递给另一个动作

时间:2013-12-26 11:53:35

标签: c# html asp.net-mvc asp.net-mvc-4

我有一些数据表将显示为网格。请参考下表

Column1  Column2    Colum3
Siva     1200        200
Ram      2000        300

我想将特定的行值作为例如column2的超链接,所有值都将是超链接。我已经实现了类似下面的代码

//Data table DT
foreach (DataRow dr in dt.Rows)
            {
 value= dr["Column2"].ToString();
     dr["Colum2"]="<a href= '@Url.Action('Index', 'Result', new { name= dr['column1'].ToString(),val= dr['column2'].ToString()})'>" + value+ "</a>"
}

我已将column1修改为超链接,并将两个值 name和val传递给Result控制器。

但由于我将锚标记作为字符串,因此无法正常工作所以它将href视为'@ Url.Action('仅限于此。(即由于报价结束而跳过其余部分

所以我需要如何将锚标记作为字符串并在href中给出动态值,如上面代码中更新的那样。(即需要将两个或多个动态值传递给结果控制器)

我想在C#中实现它。我不能去查看并做一些javascript代码。

我该怎么做?

谢谢,

希瓦

2 个答案:

答案 0 :(得分:0)

您需要创建

之类的链接
//Data table DT
foreach (DataRow dr in dt.Rows)
{
    UrlHelper urlHelper  = new UrlHelper(this.ControllerContext.RequestContext);
    var url =urlHelper.Action('Index', 'Result', new { name= dr['column1'].ToString(),val= dr['column2'].ToString()});

    value= dr["Column2"].ToString();
    dr["Colum2"]="<a href= '" + url +"'>" + value+ "</a>"
}

答案 1 :(得分:-1)

这是您需要将参数传递给Controller的方式:

<a href="@Url.Action("actionname", "Controllername", new { param1 = value,param2= value})"

希望这会有所帮助..