• 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赋默认值

  • 相关阅读:
    前端的一些雕虫小技,从100%和滚动条说起
    这事没完,继续聊spring cloud stream和kafka的这些小事
    简单聊一聊spring cloud stream和kafka的那点事
    是谁,在敲打我窗-CSS雨滴动画效果
    对照谈-官方spring-boot-starter和自定义starter异同分析
    从spring boot发邮件聊到开发的友好性
    抖音抖一抖-SVG和CSS视觉故障艺术小赏
    上位机组态控件PCHMI-PLC地址命名规则
    【C#格式化字符】【C#Chart图表控件】【饼图、柱形图、波形图】
    【PCHMI.DLL】【C#上位机二次开发文档】2021年7月15更新
  • 原文地址:https://www.cnblogs.com/xcsn/p/4689896.html
Copyright © 2020-2023  润新知