MVC控制器使用總結

1、新手入門

1.特性

[AuthorizeFilter]  用於權限過濾html

[HttpGet]  ajax

[HttpPost]json

2.參數

GET獲取app

       [HttpGet]
        public ActionResult Get(int id=0)
        {
            return Json("test",JsonRequestBehavior.AllowGet);
        }

返回字符串 "test"post

POST提交url

[HttpPost]
public ActionResult void Post(Model model)
{
  var result = new Result();
   if (ModelState.IsValid && model != null)
   {
  }
   return Json(result);
}

上傳圖片spa

[HttpPost]
public ActionResult void Post(Model modelName, FormCollection form)
{
    var requestFiles = Request.Files;//HttpFileCollectionBase
    if (requestFiles.Count > 0)
    {
        for (int i = 0; i < requestFiles.Count; i++)
        {
            //此塊代碼僅做示例
            //文件名稱 requestFiles[i].FileName 
            var postedfile =  requestFiles[i];//HttpPostedFileBase
            var savePath="d://d.jpg";
            postedfile.SaveAs(savePath);
        }
    }
   return Json(result, "text/html", Encoding.UTF8);
}

 

3.返回類型(返回方法)

return null;//返回Null或者Void數據類型的EmptyResult
return View();//返回與本控制器同名的視圖
return View(model);//返回與本控制器同名的視圖,並傳model到視圖
return View("Success");//返回指定的視圖
return View("~/Views/Shared/Success.cahtml");//返回指定的視圖的路徑 return View("Success",model);//返回指定的視圖,並傳model到視圖 return Json(result, JsonRequestBehavior.AllowGet);//通常由給post或ajax提交的請求,返回json return Content("Test Content", "text/html"); // 可指定文本類型 return JavaScript("alter('hello');"); //在客戶端執行的腳本,但並不會直接響應彈出窗口,需用頁面再一次調用 string fileName = "~/Content/test.zip"; // 文件名 string downFileName = "文件顯示名稱.zip"; // 要在下載框顯示的文件名 //返回FileResult要寫入響應中的二進制輸出,通常可用做簡單下載 return File(fileName, "application/octet-stream", downFileName); //重定向方法:Redirect / RedirectToAction / RedirectToRoute return Redirect("http://www.baidu.com"); //直接轉到指定的url地址 return RedirectToAction("index","home",new{id="1"});//跳轉到指定的控制器 return RedirectToRoute("Default", new { controller = "Home", action = "Index"}); //指定路由進行跳轉

 

推薦文章:code

http://www.cnblogs.com/artech/archive/2012/08/13/action-result-01.htmlorm

 

2、常見問題

1.下拉框默認值不選中htm

如代碼:

@Html.DropDownListFor(model => model.Status, (List<SelectListItem>)ViewBag.StatusList, new { @class = "form-control" }) 

解決:

在控制器中爲 model.Status賦默認值

相關文章
相關標籤/搜索