将 2 个参数传递给局部视图

pass 2 arguments to a partial view

我有一个主视图和一个局部视图。我从主视图到控制器有 2 个变量,但我不知道如何将 2 个变量传递给局部视图。一个变量有效,但多个变量无效。

我的代码

控制器

 public PartialViewResult cal(int id,string name)
    {

        List<string> details = new List<string>();
        details.Add(""+id);

        details.Add(name);

        return PartialView(details);
    }

局部视图

 @{ 
  @model List<string>
  }

    <script>

        var empid,user;

        empid = parseInt(@Model[0]);
        user = @Model[1] //name not getting

        $(document).ready(function () {
          //code
         });

我从这里尝试了一些代码,但没有得到名称。我也尝试过 class 但两者都不起作用。

与其创建一个列表来将您的值传递给视图模型,不如尝试创建一个强类型视图模型来准确表示您在视图中需要的内容。例如:

public class CalViewModel
{
    public int Id { get; set; }
    public string Name { get; set; }
}

然后在控制器中:

var vm = new CalViewModel()
{
    Id = id,
    Name = name
};
return PartialView(vm);

然后在视图中:

@model CalViewModel

<script>
    var empid,user;
    empid = parseInt(@Model.Id);
    user = '@Model.Name';

    $(document).ready(function () {
        //code
    });
</script>