在c#中简单地将数据从控制器传递到视图

时间:2014-03-25 09:25:10

标签: c# asp.net-mvc

您好我是MVC C#的新手,并且有一些问题

我有这样的控制器

public class HomeController : Controller
        {
            //
            // GET: /Home/

            public ActionResult Index()
            {

                return View();
            }
}

我想将一些像HOME这样的变量传递给当前视图,如何实现它,以及如何在视图中显示? lik @what

2 个答案:

答案 0 :(得分:1)

对于一个简单变量,将其添加到ViewBag,然后通过@Model

引用它

例如

        public ActionResult Index()
        {

            var Home = "No place like";
            ViewBag.Home = Home;
            return View();
        }

在视图中:

@ViewBag.Home 

将显示您已设置的内容。

如果您想添加更复杂的数据结构,您需要将模型对象传递给视图。

你可以传递这个

    public ActionResult Index()
    {

        var myViewModel = new MyViewModel(); // set up view model with data

        return View(myViewModel);
    }

然后你也可以从视图中引用它!

{
    @model = MyViewModel;
}

稍后再参考

<p>@model.PropertyName</p>

答案 1 :(得分:0)

为避免头痛,如果您有少量变量(非常小),您可以使用ViewBag。

控制器:

ViewBag.MyVarName = "My var content or whatever";

查看:

@ViewBag.MyVarName @* this prints the var *@

如果你有更多的变量,你应该使用模型。