繁体   English   中英

需要MVC3 Razor帮助

[英]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词典中。 因此,在控制器中,您将拥有以下内容:

ViewBag.SelectListItems = new SelectListItem[] { ... };

然后您可以在视图本身中引用

@Html.DropDownList("myselectlist", ViewBag.SelectListItems)

我认为这将帮助您复数介绍 它肯定对我有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM