[英]MVC3 Razor Help required
我希望你们能回答我一个问题?
我只是刚刚开始使用ASP.NET MVC3,在某些时候还没有解决。 我一直在从书本上学习这些东西,但是我在某些方面还不太确定。
一个VIEW只能有一个@Model引用吗?
目前,我在ViewResult上执行了带有HTTP-POST的VIEW设置,该设置用于验证View中的数据,先由用户输入,然后“发布”,然后将此信息传递给将其写回到数据库的方法( ADO.NET-访问)。 现在,我需要更改VIEW,以便可以将几个文本框替换为Dropdownlistfor控件。 填充这些控件的数据将需要从数据库中传递。
我的说法是正确的,该数据需要在页面的HTTP-GET Viewresult中传递,如果是,我可以在同一View(* .cshtml)中引用多个@Model吗?
我有一个接受用户响应的类,并且在View中引用了该类。 但是我是否需要为下拉列表数据创建一个新类并引用它。 这样,在后台我将数据填充到SelectListItem中,将其传递给View,然后填充视图中的每个下拉控件?
很抱歉,如果这本书写得不好,很难解释,我发现很难从书本上学习,现在我很困。 任何帮助,将不胜感激。 只是为了让我了解所有这些情况。 我对C#语法感到满意,但对MVC3不确定!
有两种方法可以处理此问题。
在这种情况下,您将拥有一个包含数据模型以及视图所需其他内容的类,如下所示:
public class ViewModel
{
public MyDomainModel Model { get; set; }
public IEnumerable<SelectListItem> SelectListItems { get; set; }
}
在这种情况下,您将所有多余的内容添加到ViewBag词典中。 因此,在控制器中,您将拥有以下内容:
ViewBag.SelectListItems = new SelectListItem[] { ... };
然后您可以在视图本身中引用
@Html.DropDownList("myselectlist", ViewBag.SelectListItems)
我认为这将帮助您复数介绍 。 它肯定对我有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.