`
sangei
  • 浏览: 329056 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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

阅读更多

<1>前台页面 Index视图

注意:用户名表单的name值为txtName

           密码表单的name值为txtPassword

复制代码
 1 <html>
 2 <head>
 3     <meta name="viewport" content="width=device-width" />
 4     <title>Test</title>
 5 </head>
 6 <body>
 7     <form action="/Home/Test" method="post">
 8         <div>
 9             <label>用户名</label><input type="text" name="txtName" />
10             <label>密 码</label><input type="text" name="txtPassword" />
11         </div>
12         <input type="submit" value="提交" />
13     </form>
14 </body>
15 </html>
复制代码

 

 

<2>后台页面,Home控制器 (为了测试,分别将视图页中的from表单的action设为 action="/Home/Test" ,action="/Home/Test2" action="/Home/Test3" action="/Home/Test4" )

 

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 namespace MvcApplication1.Controllers
 8 {
 9     public class HomeController : Controller
10     {
11         //
12         // GET: /Home/
13 
14         public ActionResult Index()
15         {
16             return View();
17         }
18 
19         /// <summary>
20         /// MVC第一种取值方式
21         /// </summary>
22         /// <returns></returns>
23         public ActionResult Test()
24         {
25             string userName = Request["txtName"];   //此时Request["txtName"]=ABC
26             string password = Request["password"];  //此时Request["password"]=123
27 
28             return Content("OK" + userName + password);
29         }
30         /// <summary>
31         /// 第二种取值方式
32         /// </summary>
33         /// <param name="f"></param>
34         /// <returns></returns>
35         public ActionResult Test2(FormCollection f) //FormCollection是MVC中表单里的一个集合,它也可以来接收前台提交过来的表单,前台提交过来的表单全都封装到这个对象中来了
36         {
37             string userName = f["txtName"];     //此时f["txtName"]=ABC 
38             string password = f["txtPassword"]; //此时f["txtPassword"]=123
39 
40             return Content("OK" + userName + password);
41         }
42         /// <summary>
43         /// 第三种取值方式
44         /// </summary>
45         /// <param name="txtName"></param>
46         /// <param name="txtPassword"></param>
47         /// <returns></returns>
48         public ActionResult Test3(string txtName, string txtPassword) //注意这个参数的名称必须要与前台页面控件的 name值是一致的
49         {
50             return Content("OK" + txtName + txtPassword);
51 
52             //此时textName=ABC 
53             //此时txtPassword=123
54         }
55 
56         /// <summary>
57         /// 第四中方式
58         /// </summary>
59         /// <param name="txtName"></param>
60         /// <param name="txtPassword"></param>
61         /// <param name="p"></param>
62         /// <returns></returns>
63         public ActionResult Test4(string txtName, string txtPassword, ParaClass p) //如果ParaClass类里面的属性与前台页面控件的name值一致,那么它的对象属性也会自动被赋值
64         {
65             return Content("OK" + txtName + txtPassword + p.txtName + p.txtPassword);
66 
67             //此时textName=ABC 
68             //此时txtPassword=123
69 
70             //此时p.txtName=ABC
71             //此时p.txtPassword=123
72         }
73 
74 
75         public class ParaClass
76         {
77             public string txtName { get; set; } //此时textName=ABC
78             public string txtPassword { get; set; } //此时txtPassword=123
79         }
80       
81     }
82 }
复制代码

 


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics