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

How to pass anchor tag class Id to a function variable using mvc?

我需要将锚标记 class 名称 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 })';
            },

此代码有效

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

由 Razor 和您所有的 MVC 火力在服务器端呈现。 当您登陆页面时,它已经被您选择的 url 替换。

javascripts 而是在客户端工作,因此只有在您单击按钮时它才会收到 id,这在您的服务器端详细说明之后很久。

所以,

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

由于这个原因,ID 不能用作其中的参数。

因此您必须将 ID 附加到 url 的末尾,如您所说:

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

此 C# 代码

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

将转换为

controller/actionname

满满的url会

controller/actionname?pharmaID=ID;