Asp.net mvc 4 如何通过MVC4中的查看器访问控制器中定义的变量包

Asp.net mvc 4 如何通过MVC4中的查看器访问控制器中定义的变量包,asp.net-mvc-4,Asp.net Mvc 4,我的控制器是这样的,我想从我的查看器访问列表 怎么做? 当我在循环中使用xmDTO时,我不会来使用ViewBag将是一个很好的方法 控制器类 public class TestController : Controller { public ActionResult Index() { var xmDTO = XFacade.XList(); return View(xmDTO ); }} 使用系统; 使用System.Col

我的控制器是这样的,我想从我的查看器访问列表 怎么做?
当我在循环中使用xmDTO时,我不会来使用ViewBag将是一个很好的方法

控制器类

public class TestController : Controller
{

    public ActionResult Index()
    {
            var xmDTO = XFacade.XList();

        return View(xmDTO );
    }}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.Mvc;
命名空间mvcapapplication4.Controllers
{
公共类HomeController:控制器
{
//
//回家/
公共行动结果索引()
{
ViewBag.country=新列表()
{
“美国”,
“印度”,
“英国”
};
返回视图();
}
}
}
看法

@{
ViewBag.Title=“字符串值列表”;
}
国家名单
    @foreach(ViewBag.country中的字符串国家) {
  • @国家
  • }
为什么不能强式键入视图

@{
    ViewBag.Title = "List of string value";
}


<h2>Country List</h2>
<ul>
    @foreach (string  country in ViewBag .country)
    {
        <li>@country</li>
    } 
在你看来

public class TestController : Controller
{
    public ActionResult Index()
    {
        var xmDTO = XFacade.XList();

        return View(xmDTO );
    }
}
@model XList
@{
ViewBag.Title=“字符串值列表”;
}
@foreach(模型中国家/地区的var项目)
{
//在项目中使用属性
} 

你应该使用Razor强力键入你的viewum,这样它就不会有帮助,而不是MVC4样式在模型或viewbag中传递数据&在视图中访问它将是一个好方法如何在模型或视图袋中传递数据?@MDDDC你的方法是什么?是的,你应该避免在应用程序中使用viewbag!在这种情况下,ViewBag有什么好处?
public class TestController : Controller
{
    public ActionResult Index()
    {
        var xmDTO = XFacade.XList();

        return View(xmDTO );
    }
}
@model XList<type>
@{
    ViewBag.Title = "List of string value";
}


@foreach (var item in country in Model)
{
    //use properties in item
}