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

时间:2015-09-08 13:34:12

标签: javascript asp.net-mvc-4 partial-views

我有一个主视图和一个局部视图。我从主视图到控制器有2个变量,但我不知道如何将2个变量传递给局部视图。对于一个变量它的工作但不止一个它不工作。

我的代码

控制器

 public PartialViewResult cal(int id,string name)
    {

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

        details.Add(name);

        return PartialView(details);
    }

partialview

 @{ 
  @model List<string>
  }

    <script>

        var empid,user;

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

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

我从这里尝试了一些代码,但名字没有得到。我也尝试过课,但两人都没有工作。

1 个答案:

答案 0 :(得分:0)

不是创建List以将值传递给视图模型,而是尝试创建一个强类型视图模型,准确表示视图中所需的内容。例如:

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>