Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心路由更改_C#_Asp.net Core_Asp.net Core Mvc_Asp.net Routing - Fatal编程技术网

C# ASP.NET核心路由更改

C# ASP.NET核心路由更改,c#,asp.net-core,asp.net-core-mvc,asp.net-routing,C#,Asp.net Core,Asp.net Core Mvc,Asp.net Routing,我需要更新一些静态网页,我想利用这段时间在Visual Studio 2015中使用ASP.NET Core(ASP.NET 5和MVC 6)重新创建它们。我想用微软的最新技术重建它,以便将来更容易进行更改 当我在localhost上启动项目时,默认网站加载良好,但任何链接页面都会中断,因为默认情况下它们路由到/Home控制器。此外,当MVC嵌套这些页面时,也找不到项目的jquery、css或图像 在文件Startup.cs中,有以下方法: // This method gets called

我需要更新一些静态网页,我想利用这段时间在Visual Studio 2015中使用ASP.NET Core(ASP.NET 5和MVC 6)重新创建它们。我想用微软的最新技术重建它,以便将来更容易进行更改

当我在localhost上启动项目时,默认网站加载良好,但任何链接页面都会中断,因为默认情况下它们路由到
/Home
控制器。此外,当MVC嵌套这些页面时,也找不到项目的jquerycss图像

在文件Startup.cs中,有以下方法:

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    loggerFactory.AddDebug();

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseDatabaseErrorPage();
        app.UseBrowserLink();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
    }

    app.UseStaticFiles();

    app.UseIdentity();

    // Add external authentication middleware below. To configure them please see http://go.microsoft.com/fwlink/?LinkID=532715

    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
    });
}
这就是它的配置方式

我们公司不希望
/Home
(或任何其他内容)被粘贴在他们所有网页的URL上

我为不同的页面创建了各种IActionResult方法,但它们都做了相同的事情:

public IActionResult Index()
{
    return View();
}
我们也有公司链接到我们的网站。改变我们网页的结构也会导致其他公司停止并做出改变

如何获取字符串,如
{controller}/{action}/{id?}
,并使其返回典型链接,如
action.aspx?id=x

或者,有没有办法告诉MVC不要对某些页面使用模板


我道歉,如果这是愚蠢的基本。我通常使用Windows窗体。

有两种解决方案:

路线模板: 属性路由
您可以使用此方法创建一个新项目,用于完整的工作示例。

当您不愿意利用底层框架时,我不确定您的练习有什么好处。如果MVC不是你想要的东西,那么我建议你坚持你手头的东西。@Saleem,当微软不在MCV(主要是社交媒体集成)中时,要与它合作变得越来越困难。如果我从未开始学习它的一部分,我将永远不知道如何使用它。我如何处理控制器的其他操作,如联系人、新闻和销售?正如上面编辑的,我得到了
AmbiguousActionException:多个动作匹配。
我看到了它。我过去常常给每个动作起一个名字(即Contact.html、News.html、Sales.html)。
app.UseMvc(routes =>
{
    routes.MapRoute(
        "HomeRoute", 
        "{action}/{id}", 
        new 
        { 
            controller = "Home", 
            action = "Index", 
            id = UrlParameter.Optional
        });
});
[HttpGet("")]
public IActionResult Index()
{
    return View();
}