MVC 從后台獲取前台頁面傳遞過來的值的幾種取法


<1>前台頁面 Index視圖

注意:用戶名表單的name值為txtName

           密碼表單的name值為txtPassword

 

<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>

 
 
        

 <2>后台頁面,Home控制器 (為了測試,分別將視圖頁中的from表單的action設為 action="/Home/Test" ,action="/Home/Test2" action="/Home/Test3" action="/Home/Test4" )

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcApplication1.Controllers { public class HomeController : Controller { //
        // GET: /Home/

        public ActionResult Index() { return View(); } /// <summary>
        /// MVC第一種取值方式 /// </summary>
        /// <returns></returns>
        public ActionResult Test() { string userName = Request["txtName"];   //此時Request["txtName"]=ABC
            string password = Request["password"];  //此時Request["password"]=123

            return Content("OK" + userName + password); } /// <summary>
        /// 第二種取值方式 /// </summary>
        /// <param name="f"></param>
        /// <returns></returns>
        public ActionResult Test2(FormCollection f) //FormCollection是MVC中表單里的一個集合,它也可以來接收前台提交過來的表單,前台提交過來的表單全都封裝到這個對象中來了
 { string userName = f["txtName"];     //此時f["txtName"]=ABC 
            string password = f["txtPassword"]; //此時f["txtPassword"]=123

            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); //此時textName=ABC //此時txtPassword=123
 } /// <summary>
        /// 第四中方式 /// </summary>
        /// <param name="txtName"></param>
        /// <param name="txtPassword"></param>
        /// <param name="p"></param>
        /// <returns></returns>
        public ActionResult Test4(ParaClass p) //如果ParaClass類里面的屬性與前台頁面控件的name值一致,那么它的對象屬性也會自動被賦值
 { return Content("OK" + p.txtName + p.txtPassword); //此時p.txtName=ABC //此時p.txtPassword=123
 }

      
      
public class ParaClass { public string txtName { get; set; } //此時textName=ABC public string txtPassword { get; set; } //此時txtPassword=123

       //注意:ParaClass類的屬性名稱必須要與前端頁面控件的name值一致,這樣才能接收到前端頁面傳遞過來的值
} } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM