控制器从视图里面获取数据
控制器需要经常访问输入的数据,比如说 表单传入的 , 比如说URL里面的参数
下面就介绍几种接收输入的方法:
第一种:用Request.Form , Request.QueryString 去获取
在web form 里面我们经常用到 Request , Response , HttpContext这三个东西,在mvc应用程序里面照样可以使用!!!
打个比方,现在有一个视图:
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@using (Html.BeginForm("Index", "User" ))
{
<div>
input user : @Html.TextBox("username")
<br />
input password : @Html.Password("password")
<br />
<input id="Submit1" type="submit" value="submit" />
</div>
}
里面有个表单对应的控制器,用Request.Form就很容易获得数据了
public ActionResult Index()
{
string username = Request.Form["Username"];
string password = Request.Form["password"];
string query = Request.QueryString["id"];
return View();
}
这里提醒一下 Html 标签里面的 name 跟 Request.form []里面的字符串只要名字一样,不区分大小写!!
顺便提一下,如果返回的URL是: http://localhost:53231?id=34
那么Request.QueryString["id"]就可以读到34了 , 跟 web form 是一样的。
第二种,为对应的动作方法提供参数
我把刚才的东西改写一下:
public ActionResult Index( string username , string password )
{
string name = username;
string pwd = password;
return View();
}
这里就要提一下Html.BeginForm的用处了!!
上面的表单的 表单post 动作指向的是 UserController 的 Index动作,
所以表单里面的 <input name="username"> 和 <input name="password">就会变成相应的参数!!
还有其他重要的方法,下一篇博客再讨论!!
控制器需要经常访问输入的数据,比如说 表单传入的 , 比如说URL里面的参数
下面就介绍几种接收输入的方法:
第一种:用Request.Form , Request.QueryString 去获取
在web form 里面我们经常用到 Request , Response , HttpContext这三个东西,在mvc应用程序里面照样可以使用!!!
打个比方,现在有一个视图:
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@using (Html.BeginForm("Index", "User" ))
{
<div>
input user : @Html.TextBox("username")
<br />
input password : @Html.Password("password")
<br />
<input id="Submit1" type="submit" value="submit" />
</div>
}
里面有个表单对应的控制器,用Request.Form就很容易获得数据了
public ActionResult Index()
{
string username = Request.Form["Username"];
string password = Request.Form["password"];
string query = Request.QueryString["id"];
return View();
}
这里提醒一下 Html 标签里面的 name 跟 Request.form []里面的字符串只要名字一样,不区分大小写!!
顺便提一下,如果返回的URL是: http://localhost:53231?id=34
那么Request.QueryString["id"]就可以读到34了 , 跟 web form 是一样的。
第二种,为对应的动作方法提供参数
我把刚才的东西改写一下:
public ActionResult Index( string username , string password )
{
string name = username;
string pwd = password;
return View();
}
这里就要提一下Html.BeginForm的用处了!!
上面的表单的 表单post 动作指向的是 UserController 的 Index动作,
所以表单里面的 <input name="username"> 和 <input name="password">就会变成相应的参数!!
还有其他重要的方法,下一篇博客再讨论!!