如何使用mvc将锚标记类Id传递给函数变量?

时间:2017-10-11 07:39:06

标签: javascript jquery asp.net-mvc asp.net-mvc-4

我需要将锚标记类名ID传递给函数var ID,其中var variable ID值应该传递给@Url.Action("pharmaCompanyDetails", "PharmaCompany", new { pharmaID = ID })

传递给ID

的变量pharmaID

代码:

<a class="detail" href="javascript:void(0)" title="Detail"><i class="glyphicon glyphicon-eye-open"></i></a> 

按钮单击

'click .detail': function (e, value, row, index) {
                alert('You click like action, row: ' + JSON.stringify(row.id));
                var ID = JSON.stringify(row.id);
                window.location.href = '@Url.Action("pharmaCompanyDetails", "PharmaCompany", new { pharmaID = ID })';
            },

ID

3 个答案:

答案 0 :(得分:1)

在此代码中正在运行

location.href = "@Url.Action("pharmaCompanyDetails", "PharmaCompany")?pharmaID=" + ID;

答案 1 :(得分:0)

"@Url.Action("pharmaCompanyDetails", "PharmaCompany")" 
服务器端由Razor和你所有的MVC火力渲染

。 当您登陆页面时,它已被您选择的网址替换。

javascripts改为在客户端工作,因此只有在服务器端详细说明之后很久才点击按钮才会收到id。

所以,

'@Url.Action("pharmaCompanyDetails", "PharmaCompany", new { pharmaID = ID })'
因此,

ID不能用作此参数。

所以你必须将ID附加到网址的末尾,如你所说:

location.href = "@Url.Action("pharmaCompanyDetails", "PharmaCompany")?pharmaID=" + ID;

答案 2 :(得分:0)

location.href = "@Url.Action("actionname", "controller")?pharmaID=" + ID;

这个c#代码

@Url.Action("actionname", "controller")

将转换为

controller/actionname

所以完整的网址将是

controller/actionname?pharmaID=ID;