主攻ASP.NET.3.5.MVC架构之重生:Controller(七)
2012-10-29 09:00
429 查看
<%:RouteData.Values["controller"].ToString()%>
//通过View的RouteData.Values对象取得当前所有路由值,并动态加载路由值中的Controller的名称
//Routing
//客户端请求->URL Routing ->Route->Route Handler->Http Handler
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//定义不需要通过Routing处理的网址
//IgnoreRoute辅助方法是ASP.NET MVC(System.Web.Mvc)
routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Test", action = "Index", id = UrlParameter.Optional } // 参数默认值
);
//MapRoute辅助方法是ASP.NET MVC(System.Web.Mvc)
<%:RouteData.Values["controller"].ToString()%>
<%:RouteTable.Routes.GetVirtualPath(Request.RequestContext,new RouteValueDictionary(new {page=1})).VirtualPath %>
view:/?page=1
http://localhost:6782/Test/?page=1
//HandleUnknownAction 方法默认会响应"HTTP 404找不到资源"的错误信息
protected virtual void HandleUnknownAction(string actionName)
{
Response.Redirect("/");
}
//[ActionName("Default")]动作选取器 只允许Default Action
///[NonAction]不对外公开属性
//把action public 改成private也可以达到同样效果 代码如下
------------------------------------------------------
//[NonAction]
private ActionResult Index()
{
return View();
}
//跳转到另一个页面
------------------------------------------------------
//[NonAction]
[HttpPost]
public ActionResult Index()
{
return new RedirectResult("/");
}
//controller辅助方法,跳转到另一个页面 ,此方法多用
------------------------------------------------------
[HttpPost]
public ActionResult Index()
{
return Redirect("/");
}
//指定index.apsx页面显示 Redirect不会跳转
------------------------------------------------------
[HttpPost]
public ActionResult Index()
{
return Redirect("/");
}
public ActionResult About()
{
return View("Index");
}
//EmptyResult不会执行任何响应客户端的程序,所以也不返回任何数据,不需要视图
------------------------------------------------------
public ActionResult Empty()
{
return new EmptyResult();
}
//EmptyResult改写,这样简单
--------------------------------------------------
public void Empty()
{
return;
}
//EmptyResult不会执行任何响应客户端的程序,所以也不返回任何数据,不需要视图
------------------------------------------------------
public ActionResult Empty()
{
return new EmptyResult();
}
//301——删除请求数据
//302——在其他地址发现了请求数据
//Response.Redirect()方法 HTTP302暂时转向
------------------------------------------------------
public void Redirect()
{
Response.Redirect("/vipuser/login");
}
//Asp.net 4.0新增Response.RedirectPermanent()建立HTTP301永久转向
------------------------------------------------------
public void Redirect()
{
Response.RedirectPermanent("/vipuser/login");
}
//响应xml content
------------------------------------------------------
public ActionResult Content()
{
return Content("<Root><Text>context</Text></Root>", "text/xml", Encoding.UTF8);
}
//响应html content
------------------------------------------------------
public ActionResult Content()
{
string strHTML = " <h2>Test</h2>";
return Content(strHTML);
}
//响应html content
------------------------------------------------------
public string Content()
{
string strHTML = " <h2>Test</h2>";
return strHTML;
}
//输出文件内容 content
------------------------------------------------------
public ActionResult GetFile()
{
return File(Server.MapPath("~/Content/Admin/images/background.png"), "image/png");
}
//通过View的RouteData.Values对象取得当前所有路由值,并动态加载路由值中的Controller的名称
//Routing
//客户端请求->URL Routing ->Route->Route Handler->Http Handler
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//定义不需要通过Routing处理的网址
//IgnoreRoute辅助方法是ASP.NET MVC(System.Web.Mvc)
routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Test", action = "Index", id = UrlParameter.Optional } // 参数默认值
);
//MapRoute辅助方法是ASP.NET MVC(System.Web.Mvc)
<%:RouteData.Values["controller"].ToString()%>
<%:RouteTable.Routes.GetVirtualPath(Request.RequestContext,new RouteValueDictionary(new {page=1})).VirtualPath %>
view:/?page=1
http://localhost:6782/Test/?page=1
//HandleUnknownAction 方法默认会响应"HTTP 404找不到资源"的错误信息
protected virtual void HandleUnknownAction(string actionName)
{
Response.Redirect("/");
}
//[ActionName("Default")]动作选取器 只允许Default Action
///[NonAction]不对外公开属性
//把action public 改成private也可以达到同样效果 代码如下
------------------------------------------------------
//[NonAction]
private ActionResult Index()
{
return View();
}
//跳转到另一个页面
------------------------------------------------------
//[NonAction]
[HttpPost]
public ActionResult Index()
{
return new RedirectResult("/");
}
//controller辅助方法,跳转到另一个页面 ,此方法多用
------------------------------------------------------
[HttpPost]
public ActionResult Index()
{
return Redirect("/");
}
//指定index.apsx页面显示 Redirect不会跳转
------------------------------------------------------
[HttpPost]
public ActionResult Index()
{
return Redirect("/");
}
public ActionResult About()
{
return View("Index");
}
//EmptyResult不会执行任何响应客户端的程序,所以也不返回任何数据,不需要视图
------------------------------------------------------
public ActionResult Empty()
{
return new EmptyResult();
}
//EmptyResult改写,这样简单
--------------------------------------------------
public void Empty()
{
return;
}
//EmptyResult不会执行任何响应客户端的程序,所以也不返回任何数据,不需要视图
------------------------------------------------------
public ActionResult Empty()
{
return new EmptyResult();
}
//301——删除请求数据
//302——在其他地址发现了请求数据
//Response.Redirect()方法 HTTP302暂时转向
------------------------------------------------------
public void Redirect()
{
Response.Redirect("/vipuser/login");
}
//Asp.net 4.0新增Response.RedirectPermanent()建立HTTP301永久转向
------------------------------------------------------
public void Redirect()
{
Response.RedirectPermanent("/vipuser/login");
}
//响应xml content
------------------------------------------------------
public ActionResult Content()
{
return Content("<Root><Text>context</Text></Root>", "text/xml", Encoding.UTF8);
}
//响应html content
------------------------------------------------------
public ActionResult Content()
{
string strHTML = " <h2>Test</h2>";
return Content(strHTML);
}
//响应html content
------------------------------------------------------
public string Content()
{
string strHTML = " <h2>Test</h2>";
return strHTML;
}
//输出文件内容 content
------------------------------------------------------
public ActionResult GetFile()
{
return File(Server.MapPath("~/Content/Admin/images/background.png"), "image/png");
}
相关文章推荐
- 主攻ASP.NET.3.5.MVC架构之重生:HtmlHelper(二)
- 主攻ASP.NET.3.5.MVC架构之重生: URL Routing (三)
- 主攻ASP.NET.3.5.MVC架构之重生: 控制器与视图之间的值传递(四)
- 主攻ASP.NET.3.5.MVC架构之重生: LINQ(五)
- 主攻ASP.NET.3.5.MVC架构之重生:省、市,区三级联动(八)
- 主攻ASP.NET.3.5.MVC架构之重生: LINQ(六)
- 主攻ASP.NET.3.5.MVC架构之重生:HtmlHelper(一)
- 主攻ASP.NET.3.5.MVC3.0架构之重生:CheckBox(十一)
- 主攻ASP.NET.3.5.MVC3.0架构之重生:MVC在Global.asax.定义定时处理程序
- 主攻ASP.NET.3.5.MVC3.0架构之重生:Filter(九)
- 主攻ASP.NET.3.5.MVC3.0架构之重生:文件上传(十二)
- 主攻ASP.NET.3.5.MVC3.0架构之重生:用户角色与用户增删改查(十)
- 主攻ASP.NET.3.5.MVC3.0架构之重生:自定义农历日期天气格式Helper
- 主攻ASP.NET.4.5 MVC4.0之重生:Entity Framework生成实体类步骤(十三)
- 主攻ASP.NET.4.5.1 MVC5.0之重生:Web项目语音朗读网页文本,简单语音提示浏览状态
- 主攻ASP.NET.4.5 MVC4.0之重生:网站更换外观皮肤界面样式
- 主攻ASP.NET.4.5.1 MVC5.0之重生:在项目中使用zTree jQuery 树插件
- 主攻ASP.NET.4.5 MVC4.0之重生:可多选框数据存放
- 主攻ASP.NET.4.5.1 MVC5.0之重生:系统角色与权限(一)
- 主攻ASP.NET.4.5 MVC4.0之重生:可多选框数据存放