不使用模型将两个对象从控制器传递到视图

A_M*_*tar 2 c# asp.net-mvc

我有一个控制器方法,我想用它来向视图发送列表和小数,而不使用模型。我怎样才能这样做呢?这是我从控制器对视图的调用:

decimal totBalance = 10.0M;
return View(query.ToList(), totBalance);
Run Code Online (Sandbox Code Playgroud)

Ash*_*man 5

1.查看包

将您的list物品传递为Model并将总余额传递为ViewBage

  public ActionResult ActionName()
        {
            var list= query.ToList();
           decimal totBalance = 10.0M;   
           ViewBag.Banance= totBalance ;          
            return View(list);
        }
Run Code Online (Sandbox Code Playgroud)

使用:

 @{
    var list= Model;
    var totBalance=ViewBag.Banance ;
  }
Run Code Online (Sandbox Code Playgroud)

2.扩展对象

将动态对象传递为Model.

public ExpandoObject ToExpando( object anonymousObject)
    {
        IDictionary<string, object> anonymousDictionary = new RouteValueDictionary(anonymousObject);
        IDictionary<string, object> expando = new ExpandoObject();
        foreach (var item in anonymousDictionary)
            expando.Add(item);
        return (ExpandoObject)expando;
    }


 public ActionResult ActionName()
    {
        var list= query.ToList();
       decimal totBalance = 10.0M;
          var model= ToExpando(new{ ListValue=list,Balance  =totBalance})
        return View(model);
    }
Run Code Online (Sandbox Code Playgroud)

使用:

@{//don't need use @model List<ModelName> or something like as model
var list= Model.ListValue;
var totBalance=Model.Balance  ;
}
Run Code Online (Sandbox Code Playgroud)