饼子天空  
个人程序Blogs
最近做一个项目ASP.NET MVC2,要返回HTML数据到前台,百思苦想中,还是求助了百度

http://blog.sina.com.cn/s/blog_5f8d04170100nqwo.html 

中得到了想要的答案,担心以后还会用到,把他整理到这 

 

  1     
                            
         
///<summary>  2/// 如果 Action 要有返回值的话,其类型必须是 ActionResult
  3/// EmptyResult - 空结果
  4///</summary>  5public ActionResult EmptyResult()
  6         {
  7             Response.Write(string.Format("<span style='color: red'>{0}</span>""EmptyResult"));
  8             return new EmptyResult();
  9         }
 10 
 11         /// <summary>
 12         /// Controller.Redirect() - 转向一个指定的 url 地址
 13         /// 返回类型为 RedirectResult
 14         /// </summary>
 15         public ActionResult RedirectResult()
 16         {
 17             return base.Redirect("~/ControllerDemo/ContentResult");
 18         }
 19 
 20         /// <summary>
 21         /// Controller.RedirectToAction() - 转向到指定的 Action
 22         /// 返回类型为 RedirectToRouteResult
 23         /// </summary>
 24         public ActionResult RedirectToRouteResult()
 25         {
 26             return base.RedirectToAction("ContentResult");
 27         }
 28 
 29         /// <summary>
 30         /// Controller.Json() - 将指定的对象以 JSON 格式输出出来
 31         /// 返回类型为 JsonResult
 32         /// </summary>
 33         public ActionResult JsonResult(string name)
 34         {
 35             System.Threading.Thread.Sleep(1000);
 36 
 37             var jsonObj = new { Name = name, Age = new Random().Next(2031) };
 38             return base.Json(jsonObj);
 39         }
 40 
 41         /// <summary>
 42         /// Controller.JavaScript() - 输出一段指定的 JavaScript 脚本
 43         /// 返回类型为 JavaScriptResult
 44         /// </summary>
 45         public ActionResult JavaScriptResult()
 46         {
 47             return base.JavaScript("alert('JavaScriptResult')");
 48         }
 49 
 50         /// <summary>
 51         /// Controller.Content() - 输出一段指定的内容
 52         /// 返回类型为 ContentResult
 53         /// </summary>
 54         public ActionResult ContentResult()
 55         {
 56             string contentString = string.Format("<span style='color: red'>{0}</span>""ContentResult");
 57             return base.Content(contentString);
 58         }
 59 
 60         /// <summary>
 61         /// Controller.File() - 输出一个文件(字节数组)
 62         /// 返回类型为 FileContentResult
 63         /// </summary>
 64         public ActionResult FileContentResult()
 65         {
 66             FileStream fs = new FileStream(Request.PhysicalApplicationPath + "Content/loading.gif", FileMode.Open);
 67             int length = (int)fs.Length;
 68             byte[] buffer = new byte[length];
 69             fs.Read(buffer, 0, length);
 70             fs.Close();
 71 
 72             return base.File(buffer, "image/gif");
 73         }
 74 
 75         // <summary>
 76         /// Controller.File() - 输出一个文件(文件地址)
 77         /// 返回类型为 FileContentResult
 78         /// </summary>
 79         public ActionResult FilePathResult()
 80         {
 81             var path = Request.PhysicalApplicationPath + "Content/loading.gif";
 82             return base.File(path, "image/gif");
 83         }
 84 
 85 
 86         // <summary>
 87         /// Controller.File() - 输出一个文件(文件流)
 88         /// 返回类型为 FileContentResult
 89         /// </summary>
 90         public ActionResult FileStreamResult()
 91         {
 92             FileStream fs = new FileStream(Request.PhysicalApplicationPath + "Content/loading.gif", FileMode.Open);
 93 
 94             return base.File(fs, @"image/gif");
 95         }
 96 
 97         /// <summary>
 98         /// HttpUnauthorizedResult - 响应给客户端错误代码 401(未经授权浏览状态),如果程序启用了 Forms 验证,并且客户端没有任何身份票据,则会跳转到指定的登录页
 99         /// </summary>
100         public ActionResult HttpUnauthorizedResult()
101         {
102             return new HttpUnauthorizedResult();
103         }
104 
105 
106         /// <summary>
107         /// Controller.PartialView() - 寻找 View ,即 .ascx 文件
108         /// 返回类型为 PartialViewResult
109         /// </summary>
110         public ActionResult PartialViewResult()
111         {
112             return base.PartialView();
113         }
114 
115         /// <summary>
116         /// Controller.View() - 寻找 View ,即 .aspx 文件
117         /// 返回类型为 ViewResult
118         /// </summary>
119         public ActionResult ViewResult()
120         {
121             // 如果没有指定 View 名称,则寻找与 Action 名称相同的 View
122             return base.View();
123         }
124 
125         /// <summary>
126         /// 用于演示处理 JSON 的
127         /// </summary>
128         public ActionResult JsonDemo()
129         {
130             return View();
131         }
132 
133           /// <summary>
134          /// 用于演示上传文件的
135          /// </summary>
136          public ActionResult UploadDemo()
137          {
138              return View();
139          }
140  
141          /// <summary>
142          /// 用于演示 Get 方式调用 Action
143          /// id 是根据路由过来的;param1和param2是根据参数过来的
144          /// </summary>
145          [AcceptVerbs(HttpVerbs.Get)]
146          public ActionResult GetDemo(int id, string param1, string param2)
147          {
148              ViewData["ID"] = id;
149              ViewData["Param1"] = param1;
150              ViewData["Param2"] = param2;
151  
152             return View();
153          }
154  
155          /// <summary>
156          /// 用于演示 Post 方式调用 Action
157          /// </summary>
158          /// <remarks>
159          /// 可以为参数添加声明,如:[Bind(Include = "xxx")] - 只绑定指定的属性(参数),多个用逗号隔开
160          /// [Bind(Exclude = "xxx")] - 不绑定指定的属性(参数),多个用逗号隔开
161          /// [Bind] 声明同样可以作用于 class 上
162          /// </remarks>
163          [AcceptVerbs(HttpVerbs.Post)]
164          public ActionResult PostDemo(FormCollection fc)
165          {
166              ViewData["Param1"] = fc["param1"];
167              ViewData["Param2"] = fc["param2"];
168  
169              // 也可以用 Request.Form 方式获取 post 过来的参数
170  
171              // Request.Form 内的参数也会映射到同名参数。例如,也可用如下方式获取参数 
172              // public ActionResult PostDemo(string param1, string param2)
173  
174              return View("GetDemo");
175          }
176  
177          /// <summary>
178          /// 处理上传文件的 Action
179          /// </summary>
180          /// <param name="file1">与传过来的 file 类型的 input 的 name 相对应</param>
181          [AcceptVerbs(HttpVerbs.Post)]
182          public ActionResult UploadFile(HttpPostedFileBase file1)
183          {
184              // Request.Files - 获取需要上传的文件。当然,其也会自动映射到同名参数
185              // HttpPostedFileBase hpfb = Request.Files[0] as HttpPostedFileBase;
186  
187              string targetPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory + "Upload", Path.GetFileName(file1.FileName));
188              file1.SaveAs(targetPath);
189  
190              return View("UploadDemo");
191          }
192

 

View Code 

posted on 2011-12-22 14:43  饼子天空  阅读(4394)  评论(0编辑  收藏  举报