【问题标题】:how to pass multiple parameter in @Url.action [duplicate]如何在@Url.action中传递多个参数[重复]
【发布时间】:2016-04-21 06:33:55
【问题描述】:

我的javascript函数如下

function SelectVoucher(Vid, vDeptCode) {
    var voucherID = Vid;
    var vDeptCode = vDeptCode;
    window.location.href = "@Url.Action("Edit_Voucher", "Voucher", new { id = voucherID }) ";
}

但是new { id = voucherID } 给了我一个错误:

凭证 ID 在当前上下文中不存在。

【问题讨论】:

  • @Url.Action() 是剃须刀代码。它在发送到视图之前在服务器上进行了评估。 voucherID 是一个 JavaScript 变量,当时甚至不存在。您需要自己生成网址 - 例如"@Url.Action("Edit_Voucher", "Voucher") + '/' + voucherID;
  • 它会给你错误,因为凭证ID是一个javascript变量。
  • public static DataTable ToDataTable(this IEnumerable source) { var dt = new DataTable(); var 属性 = typeof(T).GetProperties(); dt.Columns.AddRange(properties.Select(x => new DataColumn(x.Name, Nullable.GetUnderlyingType(x.PropertyType) ?? x.PropertyType)).ToArray()); source.Select(x => dt.NewRow().ItemArray = properties.Select(y => y.GetValue(x, null)).ToArray()).Map(x => dt.Rows.Add(x) );返回 dt; }

标签: asp.net-mvc


【解决方案1】:

看下面的例子

var firstname = "abc";
var username = "abcd";
location.href = '@Url.Action("Display", "Customer") ? 
                                     uname=' + firstname + '&name=' + username;

【讨论】:

    【解决方案2】:

    您可以通过以下方式传递它:

    window.location.href = "@Url.Action("Edit_Voucher", "Voucher", new { id = voucherID,name = customerName }) ";
    

    【讨论】:

      猜你喜欢
      • 2015-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-04
      • 2016-04-18
      • 2018-04-04
      • 1970-01-01
      • 2014-08-02
      相关资源
      最近更新 更多