我在学习MVC中遇见了一个问题就是在我创建一个Controller后,我不知道什么时候需要在Controller中写的public ActionResult上加httppost这个动作限定,我已经在网上和书中查阅了相关资料,但是感觉还是似懂非懂,以下是我的理解:如果不加HTTPPOST,当页面加载时,则会自自动运行在public ActionResult中的功能。如果加上HTTPPOST,则会在页面按钮出发后,根据页面传入的信息在运行 public ActionResult中的功能。
不知道我的理解是否正确,我在一步步学习MVC,但是看书上的解说感觉总是不能明白,需要能有朋友帮我通俗,直观的说明一下。
“如果不加HTTPPOST,当页面加载时,则会自自动运行在public ActionResult中的功能。”你这里所说的页面加载是指浏览器打开页面,这里一般是get请求,MVC里对不加[HttpPost]的action默认的就是[HttpGet]。
“如果加上HTTPPOST,则会在页面按钮出发后,根据页面传入的信息在运行 public ActionResult中的功能。”你这里所说的页面按钮发出后,应该是指的点击submit按钮post方式提交表单。
是否加[HttpPost]取决于你的提交数据方式是什么。详情百度get/post
谢谢您,看来我在理解上有一个根本的错误,谢谢您帮我指出。看您这么写,我感觉对于HTTPPOST和GET的理解清晰了很多。
get其实就是向服务器索取信息,比如产品列表,产品详细信息。
而post就是向服务提交信息,比如增加产品,删除产品,更新产品。
这样理解是否恰当呢?
@MingWei496: 对于你说的索取信息提交信息,你可以这么理解,但是主要是看你怎么用。最直接的区别是:get的参数在URL里,并且浏览器访问url时默认get;而post的参数在表单里。
通过现在的ajax,我也可以用get提交一个产品的ID,然后后台增删改,我也可以post什么都不提交,让后台把产品列表、详细信息返回来。
先学http协议吧.大体知道下就好.再学怎么做网站.