请注意,我想请教的是在asp.net mvc再次强调下是在asp.net mvc里,不是webform里。提交方法,和获取方法,分别怎么写呢?他们的区别是什么呀。我找了一些示例发现都是默认post的。<% using (Html.BeginForm()) { %>这样的。请问如果是get的应该怎么写呢?controler里是如何获取的呢,url有什么变化吗?希望能给个全面的分析,非常感谢呀~
调试欢乐多
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是通过url传递
post不可见的方式传递。
获取 get Request.QueryString["Name"]
post Request.Forms["Name"]
Name=》控件name
<%using(Html.BeginForm("Action名","Controller名","GET") %>如果是Post,可以把GET替换为POST,当然默认就是POST,可以省略
至于接收,如果用POST,可以用Request["Name值"].ToString()这样的方式,GET就不清楚了,你可以写一个Request,然后断点看一下Request里边都有什么内容,找到对应的值
FormMethod.Post或者FormMethod.Get
http://localhost/ActionName/ControllerName?FormFieldName=Value