视图表单访问控制器操作方法的POST、GET方式对应关系

在视图中,表单默认访问方式是FormMethod.Post(不会将请求显示在地址栏中)。在控制器中,操作方法不标注属性,默认为HttpGet属性。会有以前情况出现。

1、表单不指定访问方式(默认形式为Post),只有一个操作方法,且不标注属性,默认为HttpGet属性。则表单将数据提交至控制器HttpGet方法中。
 @using (Html.BeginForm())
    {
       <div class="form-group">
           <label for="searchString" class="control-label">片名:</label>
       </div>
         <div class="form-group">
            @Html.TextBox("searchString", "", htmlAttributes: new { @class = "form-control", placeholder = "请输入片名" })
        </div>
            <input type="submit" value="查找" class="btn btn-primary" />
    }

2、表单不指定访问方式(默认形式为Post),控制器操作方法有两个重载,分别 为[HttpGet]和[HttpPost]属性。则表单将数据提交至控制器HttpPost方法中。

3、表单指定数据发送形式为FormMethod.Get,它能使Post请求能够路由到[HttpGet]版本(默认的)的操作方法中,请求的地址也能够在URL地址栏显示。View中Form形式如下:@using (Html.BeginForm("Index","Movies",FormMethod.Get))

@using (Html.BeginForm("Index", "Movie", FormMethod.Get, htmlAttributes: new { @class = "form-inline", role = "form" }))
    {
       <div class="form-group">
           <label for="searchString" class="control-label">片名:</label>
       </div>
         <div class="form-group">
            @Html.TextBox("searchString", "", htmlAttributes: new { @class = "form-control", placeholder = "请输入片名" })
        </div>
            <input type="submit" value="查找" class="btn btn-primary" />
    }

总之,控制器[HttpGet]属性的操作方法能接受GET、POST形式发送的表单值。而控制器[HttpPost]属性的操作方法只能接受POST形式的表单。

Get表单只能发送[HttpGet]属性的操作方法中;POST表单能将数据发送至[HttpGet]、[HttpPost]属性的操作方法中,但优先访问[HttpPost]属性的操作方法。

一般说来,1、如果操作方法一般是不改变程序状态的,也就是不增删改(只查询)数据库的操作。使用FormMethod.Get表单,形式为(@using (Html.BeginForm("Index","Movies",FormMethod.Get))),[HttpGet]属性(默认的样式,不设置)的操作方法。2、如果涉及到数据库的增删、改操作,使用POST表单,默认的样式,形式如@using(html.BeginForm()),[HttpPost]属性的操作方法。

时间: 2024-10-14 03:27:55

视图表单访问控制器操作方法的POST、GET方式对应关系的相关文章

控制器读取视图表单中的数据的几种方式

上次分享了控制器向视图传递数据的4种方式,今天再来给大家讲讲MVC视图中的数据如何提交到控制器. 我们可以通过以下几种方式提交数据到控制器: 1.通过Request.Form读取表单数据 在 控制器动作方法(Action)中,POST方法提交的表单可以使用Request.Form读取其中的数据: <html> <head></head> <body> <form> <input type="text" name=&quo

java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessController的checkPerssiom方法,访问控制器AccessController的栈检查机制又遍历整个 PerssiomCollection来判断具体拥有什么权限一旦发现栈中一个权限不允许的时候抛出异常否则简单的返回,这个过程实际上比我的描述要复杂 得多,这里我只是简单的一句带过,因为这

java jvm学习笔记十二(访问控制器的栈校验机制)

欢迎装载请说明出处:http://blog.csdn.net/yfqnihao 本节源码:http://download.csdn.net/detail/yfqnihao/4863854 这一节,我们会简单的描述一下jvm访问控制器的栈校验机制. 这节课,我们还是以实践为主,什么是栈校验机制,讲一百遍不如你自己实际的代码一下然后验证一下,下面我们下把环境搭起来. 第一步,配置系统环境.(copy吧,少年) path=%JAVA_HOME%/bin JAVA_HOME=C:/Java/jdk1.6

[大数据搜索数据库YDB]YDB新功能介绍-视图表

YDB视图表 全库资源汇聚搜索高效解决方案 业务有成百上千张表,每张表有上百个列.想要根据关键字搜索含有该关键字的记录怎么办? 每张表都写一个sql么?每个列都要拼到where条件里去搜索么?no 其实对于资源汇聚类型的搜索可以一条sql就搞定,又兼容原先的表结构,业务其他部分依然可以单表查询.是不是有这样一种场景,每张表的数据量都不多 ,但是你的表特别多,几十张甚至几百张表. 如果每个表都创建一个物理表,那么是比较浪费资源的 每张表都要维护自己的BUFFER,弄不好就OOM,导入性能实在太差.

Java安全——安全管理器、访问控制器和类装载器

摘要: 标签: Java 安全 [toc] 安全管理器:SecurityManager 安全管理器在Java语言中的作用就是检查操作是否有权限执行.是Java沙箱的基础组件.我们一般所说的打开沙箱,也是加-Djava.security.manager选项. 其实日常的很多API都涉及到安全管理器,它的工作... 标签: Java 安全 [toc] 安全管理器:SecurityManager 安全管理器在Java语言中的作用就是检查操作是否有权限执行.是Java沙箱的基础组件.我们一般所说的打开沙

yii2.0 访问控制器下的方法时出现 Object Not Found! 解决办法

yii2.0  访问控制器下的方法时出现 Object Not Found! 时 可以查看(apache)  入口文件index.php 的同级有没有 .htaccess 文件 没有.htaccess文件  要添加该文件 内容: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php 保存后重启apache

TACACS 终端访问控制器访问控制系统

Terminal Access Controller Access-Control System (TACACS) TACACS(终端访问控制器访问控制系统)对于Unix网络来说是一个比较老的认证协议,它允许远程访问服务器传送用户登陆密码给认证服务器,认证服务器决定该用户是否可以登陆系统.TACACS是一个加密协议,因此它的安全性不及之后的TACACS+和远程身份验证拨入用户服务协议.TACACS之后推出的版本是XTACACS.这两个协议均在RFC(请求注解)(是一系列以编号排定的文件.文件收集

控制器到视图的传值方式

一.从控制器到视图的传值方式 (1)Viewdata C:Viewdata["key"]="viewdata"//控制器中赋值 V:Viewdata["key"]//视图中取值 (2)Viewbag C:Viewbag.key="viewbag"//控制器中赋值 V:viewbag.key//视图中取值 (3)TempData C:Tempdata["key"]="tempdata"//

用jquery实现隐藏列表表单的显示关闭切换以及Ajax方式修改提交对应的那一行的修改内容。

请勿盗版,转载请加上出处http://blog.csdn.net/yanlintao1 请勿盗版,转载请加上出处http://blog.csdn.net/yanlintao1 先给大家看看图片效果,大家不要直接复制代码,这样是运行不了的,因为你们数据库和我的不一样,但是你们可以自己读读这个代码,找找对自己有用的,当然我的方法也不是最好的希望大家可以给点意见,感激不尽. (1)点击修改图标 (2)填写修改内容 (3)点击确定修改 jquery与css代码: <style type="text