ViewViewdata.Model;什么型号呢?

时间:2014-01-17 18:05:29

标签: asp.net-mvc

ViewData.Model

我知道Viewdata包含视图通过

返回的数据
return view(//data);

但是.Model表示什么?

控制器:

using Testing_linq.Models;

namespace Testing_linq.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewBag.Message = "Welcome to ASP.NET MVC!";
            var DataContext = new RegistrationDataContext();
            var Registration = DataContext.SelectRegistration_sp();

            return View(Registration);
        }

查看:

<table>
@foreach(SelectRegistration_spResult reg in (IEnumerable<Object>)ViewData.Model)
{
    <tr>
     <td>@reg.userEmail </td>
    </tr>
}
</table>

我在模型中使用LInq到Sql类。

1 个答案:

答案 0 :(得分:4)

模型表示呈现页面所需的任何动态信息,并且是您为视图提供的信息。例如,如果您要创建一个显示某人的名字和姓氏的视图,您可能会想出以下模型:

public sealed class PersonViewModel
{
    public string FirstName {get; set; }
    public string LastName {get; set; }
}

最好使用强类型视图,因此.cshtml文件中的第一行是:

@model MyNameSpace.PersonViewModel

当你的控制器返回视图时,你会将需要渲染的内容传递给它:

 public ActionResult Index()
 {
     return View(new PersonViewModel() { FirstName = "Moo", LastName = "Juice" });
 }

ViewData.Model是指传入的PersonViewModel实例,可通过Model快捷方式在您的视图中访问:

 <body>
     <p>
         Hello @Model.FirstName !!
     </p>
 </body>