MVC 从后台页面 取前台页面传递过来的值的几种取法

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Test</title>
</head>
<body>
<form action="/Home/Test" method="post">
<div>
<label>用户名</label><input type="text" name="txtName" />
<label>密 码</label><input type="text" name="txtPassword" />
</div>
<input type="submit" value="提交" />
</form>
</body>
</html>

 

/// <summary>
/// MVC第一种取值方式
/// </summary>
/// <returns></returns>
public ActionResult Test()
{
string userName = Request["txtName"]; 
string password = Request["password"]; 

return Content("OK" + userName + password);
}
/// <summary>
/// 第二种取值方式
/// </summary>
/// <param name="f"></param>
/// <returns></returns>
public ActionResult Test2(FormCollection f) //FormCollection是MVC中表单里的一个集合,它也可以来接收前台提交过来的表单,前台提交过来的表单全都封装到这个对象中来了
{
string userName = f["txtName"]; 
string password = f["txtPassword"]; 

return Content("OK" + userName + password);
}
/// <summary>
/// 第三种取值方式
/// </summary>
/// <param name="txtName"></param>
/// <param name="txtPassword"></param>
/// <returns></returns>
public ActionResult Test3(string txtName, string txtPassword) //注意这个参数的名称必须要与前台页面控件的 name值是一致的
{
return Content("OK" + txtName + txtPassword);

}

/// <summary>
/// 第四中方式
/// </summary>
/// <param name="txtName"></param>
/// <param name="txtPassword"></param>
/// <param name="p"></param>
/// <returns></returns>
public ActionResult Test4(string txtName, string txtPassword, ParaClass p) //如果ParaClass类里面的属性与前台页面控件的name值一致,那么它的对象属性也会自动被赋值
{
return Content("OK" + txtName + txtPassword + p.txtName + p.txtPassword);

}


public class ParaClass
{
public string txtName { get; set; } 
public string txtPassword { get; set; } 
}

posted @ 2018-06-20 10:55  jerry&ssj  阅读(174)  评论(0编辑  收藏  举报