当前位置: 首页 > news >正文

谷歌google/seo软件推广

谷歌google,seo软件推广,柳传志 潘石屹做水果网站,西安网站建设 招聘问题 如何将一个规模庞大的ASP.NET Core 2.0应用程序进行逻辑分组? 答案 新建一个ASP.NET Core 2.0空项目,修改Startup类,增加Mvc服务和中间件: public void ConfigureServices(IServiceCollection services) {services.AddMvc();…

问题

如何将一个规模庞大的ASP.NET Core 2.0应用程序进行逻辑分组?

答案

新建一个ASP.NET Core 2.0空项目,修改Startup类,增加Mvc服务和中间件:

public void ConfigureServices(IServiceCollection services)
{services.AddMvc();
}public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseMvc(routes =>{routes.MapRoute(name: "area",template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");routes.MapRoute(name: "default",template: "{controller=Home}/{action=Index}/{id?}");});
}

创建目录结构如下所示:

 

向Controllers和Views目录中添加文件(其中Area1的目录结构如下):

 

向Area1和Area2目录中的控制器类添加[Area]特性:

namespace Areas.Areas.Area1.Controllers
{[Area("Area1")]public class HomeController : Controller{public IActionResult Index(){return View();}public IActionResult About(){return View();}}
}

运行,此时页面显示:

 

点击超链接Area1/Home/Index,页面显示:

 

返回首页,点击超链接Area2/Home/Index,页面显示:

 

讨论

MVC使用模型、视图和控制器来分离应用程序的关注点。对于更大的应用程序,区域提供了一种将这三个关注点隔离到更高级别分组中的方法。例如,你可能希望将应用程序分隔成不同的模块,每个模块都包含自己的MVC结构。

为了支持路由,还有另外一个路由参数area(作为对controller和action参数的补充)。你可以将区域假想为控制器的命名空间。在当前请求上下文中,area路由参数也可以作为环境变量存在(无需显示提供)。下面的示例中,由于页面存在于Area1区域中,所以链接到本区域的超链接省略了area参数(下面小节会详细讨论):

<p><strong>You are here: </strong>Area1/Home/Index</p><ul><li><a asp-area="" asp-controller="Home" asp-action="Index">Home/Index</a></li><li><a asp-area="" asp-controller="Home" asp-action="About">Home/About</a></li><li><a asp-controller="Home" asp-action="Index">Area1/Home/Index</a></li><li><a asp-controller="Home" asp-action="About">Area1/Home/About</a></li><li><a asp-area="Area2" asp-controller="Home" asp-action="Index">Area2/Home/Index</a></li><li><a asp-area="Area2" asp-controller="Home" asp-action="About">Area2/Home/About</a></li>
</ul>

为了在项目中使用区域,你首先需要创建一个以Areas命名的目录和每个具体的区域(包含其控制器、模型和视图)。注意目录结构的命名非常重要,因为MVC会按照如下顺序查找视图所在的位置:

 

一旦目录结构创建成功,你就可以通过[Area]特性来标识每个控制器了:

[Area("Area1")]
public class HomeController : Controller
{
}

生成链接

下面表格列出了生成超链接所需要的路由参数,其中From为超链接所在的页面,To为超链接需要跳转的页面,链接格式为:{area}/{controller}/{action}。

如果省略路由参数,则意味着MVC会从当前请求上下文中检索这些参数。为了便于维护,我个人觉得还是为每个路由参数都设置值来得方便。这篇文章所附带的示例工程包含了不同页面上的超链接,你可以观察环境变量值是如何工作的:

From  To路由参数 
 Area1/Controller1/Action1 Area1/Controller1/Action2 asp-action="Action2"
 Area1/Controller1/Action1 Area1/Controller2/Action1  asp-controller="Controller2"
 asp-action="Action1"
 Area1/Controller1/Action1 Area2/Controller1/Action1  asp-area="Area2"
 asp-controller="Controller1"
 asp-action="Action1"
Area1/Controller1/Action1Controller1/Action1 asp-area=""
 asp-controller="Controller1"
 asp-action="Action1"

 

布局页面

区域内部的Razor视图可以使用外面的布局页面(也就是根目录下的/Views/Shared)。当然你可以为每个区域定义不同的布局页面。另外一种方法就是在外部定义公共的布局页面,然后区域内的布局页面将其作为页面布局,从而创建一个嵌套的布局页面。下面显示了Area2区域的布局页面如何使用外部布局页面(注意为了引用外部布局页面,你需要指定绝对路径):

@{ Layout = "/Views/Shared/_Layout.cshtml";
}<div><nav style="background-color: lightgray"><h2>Area2 Layout</h2></nav>@RenderBody()
</div>

源代码下载

 

原文:https://tahirnaushad.com/2017/08/25/asp-net-core-2-0-mvc-areas/

 

ASP.NET Core 2.0 系列文章目录

http://www.jmfq.cn/news/5177269.html

相关文章:

  • 公司网站维护工作/网销怎么做才能做好
  • 网站开发市场/彩虹云商城网站搭建
  • 网站开发公司哪家靠谱/官网优化包括什么内容
  • 哪个网站有做电箱电柜的图纸/总排行榜总点击榜总收藏榜
  • 如何做网站流量分析/网络营销的方法有哪些?
  • 怎么用小皮创建网站/免费推广的途径与原因
  • 专业网站建设哪个好/如何有效的推广宣传
  • 长春微信网站建设/关键词优化策略
  • 大连模板建站软件/国外服务器免费ip地址
  • cn网站怎么做/深圳产品网络推广
  • 东莞网站设计与网站制作/官网首页入口百度
  • 唐山网站建设服务/seo优化外包公司
  • 企业做网站有什么好处坏处/短视频优化
  • WordPress更改网站地址/seo商城
  • 音乐网站建设规划书/搜索引擎关键词怎么优化
  • 一起做网店网站靠谱么/长沙seo关键词
  • 网络推广运营的技巧/南宁seo外包要求
  • 网站推广策划的思路/天津seo霸屏
  • 做网站有2个前提条件_一个是网站/唐山网站建设方案优化
  • 做资料上哪个网站好/手游代理加盟哪个平台最强大
  • 安吉做网站/百度正版下载并安装
  • 忻府区最新疫情/360优化大师最新版的功能
  • 设计自己的名字图画/seoul怎么读
  • 为什么做独立站的人都不止一个网站/汕头网站建设
  • 企业网站制作教程视频/营销型网站的公司
  • 上海做网站推荐/谷歌海外推广
  • 做网站做推广/百度seo优化怎么做
  • 网站建站案例/南阳网站seo
  • 专业营销的网站建设公司/软文写作案例
  • 做招聘长图用什么网站/免费顶级域名注册