【问题标题】:How to pass anchor tag class Id to a function variable using mvc?如何使用 mvc 将锚标记类 ID 传递给函数变量?
【发布时间】:2017-10-11 07:39:05
【问题描述】:

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

【问题讨论】:

  • var ID = JSON.stringify(row.id); 是 javascript(客户端代码)。 @Url.Action() 是服务器端代码 - location.href = '@Url.Action("pharmaCompanyDetails", "PharmaCompany") + '?pharmaID=' + ID;
  • 你为什么用JSON.stringify()?应该只是var ID = row.ID
  • 是的,现在我使用 var ID = row.ID 从 ID value@StephenMuecke 获取所有记录
  • 添加代码后的输出localhost:51426/PharmaCompany/… %20+%20 @StephenMuecke
  • 对不起,我在Url.Action() - '@Url.Action("pharmaCompanyDetails", "PharmaCompany")' + '?pharmaID=' + ID; 之后错过了'

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


【解决方案1】:

这段代码有效

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

【讨论】:

    【解决方案2】:
    "@Url.Action("pharmaCompanyDetails", "PharmaCompany")" 
    

    由 Razor 和你所有的 MVC 火力在服务器端渲染。 当您登陆页面时,它已被您选择的网址替换。

    javascripts 改为在客户端工作,因此它仅在您单击按钮时才收到 id,在您的服务器端详细说明之后很久。

    所以,

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

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

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

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

    【讨论】:

      【解决方案3】:
      location.href = "@Url.Action("actionname", "controller")?pharmaID=" + ID;
      

      这个c#代码

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

      将转换为

      controller/actionname
      

      所以完整的网址将是

      controller/actionname?pharmaID=ID;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-17
        • 1970-01-01
        • 2015-04-19
        • 2016-03-19
        • 1970-01-01
        相关资源
        最近更新 更多