日期:2014-05-17  浏览次数:20517 次

asp.net mvc里get和post的区别
请注意,我想请教的是在asp.net mvc

再次强调下是在asp.net mvc里,不是webform里。

提交方法,和获取方法,分别怎么写呢?

他们的区别是什么呀。

我找了一些示例发现都是默认post的。<% using (Html.BeginForm()) { %>这样的。

请问如果是get的应该怎么写呢?

controler里是如何获取的呢,url有什么变化吗?

希望能给个全面的分析,非常感谢呀~


------最佳解决方案--------------------
get方式在后台接收也可以用Request[""]方式,url是有变化的,例如
http://localhost/ActionName/ControllerName?FormFieldName=Value
------其他解决方案--------------------
”post”和”get”有什么区别

在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有两点不同:
1、Get方法通过URL请求来传递用户的输入。Post方法通过另外的形式。
2、Get方式的提交你需要用Request.QueryString来取得变量的值,而Post方式提交时,你必须通过Request.Form来访问提交的内容。

仔细研究下面的代码。你可以运行之来感受一下:

代码
<!--两个Form只有Method属性不同-->
<FORM ACTION=“getpost.asp” METHOD=“get”>
<INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>
<INPUT TYPE=“submit” VALUE=“Method=Get”></INPUT>
</FORM>
<BR>
<FORM ACTION=“getpost.asp” METHOD=“post”>
<INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>
<INPUT TYPE=“submit” VALUE=“Method=Post”></INPUT>
</FORM>

<BR>
<BR>

<% If Request.QueryString(“Text”) <> ““ Then %>
通过get方法传递来的字符串是: “<B><%= Request.QueryString(“Text”) %></B>“<BR>
<% End If %>

<% If Request.Form(“Text”) <> ““ Then %>
通过Post方法传递来的字符串是: “<B><%= Request.Form(“Text”) %></B>“<BR>
<% End If %>


------其他解决方案--------------------
我晕 get post 只是表单提交的两种方式
区别就是get是通过url传递
post不可见的方式传递。
获取 get  Request.QueryString["Name"]
post Request.Forms["Name"]
Name=》控件name
------其他解决方案--------------------
1楼要挨骂了
------其他解决方案--------------------
请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意请注意不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道不知道
------其他解决方案--------------------
Html.BeginForm有很多重写方法,如果用get方式提交应该这样写:
<%using(Html.BeginForm("Action名","Controller名","GET") %>

如果是Post,可以把GET替换为POST,当然默认就是POST,可以省略


至于接收,如果用POST,可以用Request["Name值"].ToString()这样的方式,GET就不清楚了,你可以写一个Request,然后断点看一下Request里边都有什么内容,找到对应的值
------其他解决方案--------------------
错了错了错了,第三个参数应该是
FormMethod.Post或者FormMethod.Get
------其他解决方案--------------------
十分感谢hrabeyond

我已经按你的方法搞定了,谢谢呀~明天揭帖~
------其他解决方案--------------------
学习学习中
------其他解决方案--------------------
我也找到问题原因了~~学习中~~