zoukankan      html  css  js  c++  java
  • MVC控制器使用总结

    一、新手入门

    1.特性

    [AuthorizeFilter]  用于权限过滤

    [HttpGet]  

    [HttpPost]

    2.参数

    GET获取

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

    返回字符串 "test"

    POST提交

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

    上传图片

    [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"}); //指定路由进行跳转

    推荐文章:

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

    二、常见问题

    1.下拉框默认值不选中

    如代码:

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

    解决:

    在控制器中为 model.Status赋默认值

  • 相关阅读:
    FZU 2169 shadow (用了一次邻接表存边,树形DP)
    win7中USB音箱没有声音解决的方法
    关于port的关闭——Linux
    JS来推断文本框内容改变事件
    hibernate 实体关系映射笔记
    java中接口的定义与实现
    理解WebKit和Chromium: 调试Android系统上的Chromium
    iOS与日期相关的操作
    Java正則表達式入门
    Windows内核之线程的调度,优先级,亲缘性
  • 原文地址:https://www.cnblogs.com/xcsn/p/4689896.html
Copyright © 2011-2022 走看看