宝哥软件园

ASP.NET MVC控制器和视图

编辑:宝哥软件园 来源:互联网 时间:2021-09-09

一、控制器相关性

控制器类中访问级别为公共的方法是操作。如果不希望Controller类中的方法是Action(可以在地址栏中访问),有两种实现:将方法的访问级别设置为private,并在方法上添加属性标记[NonAction]。

对于添加修改等功能模块,我们经常会创建两个同名的action:一个action用于加载添加修改页面;另一个操作用于处理通过添加/修改页面提交的表单数据。如何区分什么时候叫哪个动作?

我们将加载添加|修改页面时调用的动作,并添加[HttpGet]特征标记;在处理页面提交的表单数据时,将[HttpSet]属性标记添加到调用的操作中。

下面的示例代码演示了如何添加学生(与动作相关的代码)。

如何在Action中获取表单提交的数据?

表单中提交的数据可以通过操作参数进行映射。

映射的前提是:Html标签中名称的属性值要与动作中参数的名称一致。

下面的示例代码演示了映射过程(注意粉色方框标记的部分):

如何在动作中映射复杂对象。

对于上面的映射代码,我们还可以有另一种等价的写法,就是将映射的属性定义到一个实体类中,这样我们就可以在动作中添加实体类型的参数。参考代码如下:

如何从一个动作跳到另一个动作?

添加或修改函数后,需要跳转到数据列表页面,可以通过以下代码实现:

Code=return redirecttoaction(“操作名”、“控制器名”)。

第二,观点相关

在aspX视图引擎中,可以使用asp服务器控件,但其功能仅限于生成Html代码,不建议开发人员使用ASP控件事件。因此,建议开发人员手动编写html标记。

但是手写的Html标签很耗时。有没有更好的解决办法?答案是使用Html辅助的方法。

Html辅助方法

html辅助方法的作用是通过调用C#方法快速生成相应的Html标签。

Html辅助方法可以分为两类:弱类型html辅助方法和强类型html辅助方法。

其中,For关键字以强类型的辅助方法结尾。下面的示例代码演示了这两个方法的调用方法以及生成的html源代码。

注意:Html辅助方法的重载形式很多,在开发过程中可以根据实际需要进行选择。例如,要实现包含类styleonchange属性和事件的单行文本框,请参考下面的代码:

强调:如何使用HTML助手方法生成表单标签?

生成表单标签的两种Html辅助方法是Html。BeginForm()和Html。EndForm(),但它们不同于其他正在使用的Html辅助方法。下面的示例代码演示了它们的两种用法:

如何在URL地址中传递参数?

场景一:将学生标识值映射到名为标识的参数

场景2 :将学生标识值映射到名为stuId的参数

场景3 :url地址包括stuId和名称参数

这三种场景的使用代码如下:

在实际开发过程中,一个小的功能模块对应一个控制器。比如学生信息管理就是一个控制器,添加学生、修改学生、查询学生列表、删除学生都可以对应控制器中的Action。Html辅助方法常用于总结。

弱型

强型

单行文本框

Html。文本框()

Html。TextBoxFor()

多行文本框

Html。TextArea()

Html。TextAreaFor()

密码框

Html。密码()

Html。PasswordFor()

复选框

Html。复选框()

Html。CheckBoxFor()

单选按钮

Html。单选按钮()

Html。RadioButtonFor()

下拉列表框

Html。DropdownList()

Html。DropdownListFor()

平铺列表框

Html。列表框()

Html。ListBoxFor()

标签

Html。标签()

Html。标签符()

表单表单

Html。BegInFORMAT()Html。EndForm()

超级链接

Html。ActionLink()

如何在视图中使用下拉列表

步骤1:在下拉列表中构建所需的数据。数据类型为IEnumerableSelectListItem。

第二步:将构造的数据放入控制器的视图数据(视图包|临时数据)属性中。

第三步:使用Html。DropDownList辅助方法在view view中生成下拉列表,使用view view中的ViewData可以得到绑定的数据(换句话说,放置在Controller中的ViewData中的数据可以从View View中的ViewData属性中提取)。

使用Html。DropDownList在视图中绑定IenumerableSelectListItem

更多资讯
游戏推荐
更多+