asp.net mvc模式怎么在后台Controllers方法中取出select下拉框中的所有值啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net mvc模式怎么在后台Controllers方法中取出select下拉框中的所有值啊相关的知识,希望对你有一定的参考价值。

参考技术A 把select
的name
通过表单提交给Controllers方法
然后用requset.form
通过name提取提交表单中的
select控件
就可以得到下拉菜单中的所有项了
参考技术B 你这个说法是颠倒的
在mvc
开发中比较规范的开发
有select
的之类
你需要给View定制ViewModel
这个ViewModel
交做视图模型
他的作用是把你页面需要的实体模型
和类似html.DropDownList
需要的IEnumerable<SelectListItem>类型
包装
不仅包含了业务数据
也有页面上每个对象所需要的数据
比如:你的业务模型叫Person
有个
string
Sex;
你需要这样
public
partial
class
Person
public
IEnumerable<SelectListItem>
SexControl

get

IList<SelectListItem>
outlist
=
new
List<SelectListItem>();
outlist.Add(new
SelectListItem()

Text
=
"男",
Value
=
"1",
Selected
=
true);
outlist.Add(new
SelectListItem()

Text
=
"女",
Value
=
"2",
Selected
=
false);
return
outlist.AsEnumerable();



这样你Return
View(person);
的时候
页面上就可以用
<%=Html.DropDownList("Sex",
Model.SexControl,
"请选择...")%>了
页面上select
的值
是你传model时一起传走的
获取的时候只要获取选择的值
这样你post的时候
FormCollection["Sex"]就能取到
选择的男或者女

MVC模式与ASP.NET Core MVC

1978年提出MVC以来,该模式越来越流行,也出现很多成熟MVC框架。Asp.Net Core MVC是基于.net core和mvc模式的代表框架。本篇我们将弄清楚以下两个知识:

  • 什么是MVC

  • 什么是ASP.NET CORE MVC

  1. 什么是MVC

    MVC是软件工程中的一种软件架构模式。它把软件系统分为三个基本部分:模型、视图、控制器。

    MVC居然是一个架构模式,那它也是具有架构模式的特点:在常用的环境下,程序的修改和扩展得到简化,提高程序可重复利用,程序结构更加直观可读。

    MVC通过对自身基本部分分离的同时也赋予了各个基本部分应有的职责。这种职责划分有助于将复杂性得到扩展,使它可以轻松地编码、调试和测试具体的某一部分。这样也有助于专业人员可以专注于自身擅长的领域。

    我们来看下MVC每个部分对应的专业人员是如何划分:

    模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
    视图(View) - 界面设计人员进行图形界面设计。
    控制器(Controller) - 负责转发请求,对请求进行处理。

    说完MVC职责,我们再来看下它们三者间的关系。

    模型(Model) 用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“ Model ”有对数据直接访问的权力,例如对数据库的访问。“Model”不依赖“View”和“Controller”,也就是说, Model 不关心它会被如何显示或是如何被操作。但是 Model 中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此 Model 的 View 必须事先在此 Model 上注册,从而,View 可以了解在数据 Model 上发生的改变。(比如:观察者模式)
    视图(View) 能够实现数据有目的的显示(理论上,这不是必需的)。在 View 中一般没有程序上的逻辑。为了实现 View 上的刷新功能,View 需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。
    控制器(Controller) 起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据 Model 上的改变。


    另外,很多人会把MVC和三层架构拿来对比。实时应用程序包含以下几层:

    表示层: 负责与用户进行交互
    业务层: 负责实现应用程序的核心逻辑
    数据层: 负责与数据交互,如:CURD(增删更查)

    MVC设计模式基本上用于实现应用程序的表示层。如下图:


  2. 什么是ASP.NET CORE MVC

    ASP.NET Core MVC 是提供了一种基于模式的方式来构建动态网站,从而实现关注点的清晰分离。

    ASP.NET Core框架是一个轻量级的,开源的,可高度测试的演示框架。因此:MVC是一种架构模式,而ASP.NET Core MVC是一种框架

本篇MVC介绍到这,后面继续Asp.Net Core MVC的入门和深入。

最后,祝学习愉快!



以上是关于asp.net mvc模式怎么在后台Controllers方法中取出select下拉框中的所有值啊的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET 5 MVC Ajax 请求请求 MVC WebAPI 报错 Access-Control-Allow-Origin'

asp.net mvc+web api+easyui

asp.net mvc模式中 怎么对文本框进行验证

MVC Razor 前台执行后台方法

asp.net前端怎么传list给后台

asp.net mvc3 动态菜单怎么实现