自定义URL在MVC不工作(Customize URL in MVC not working)

2019-10-18 10:02发布

我在Asp.net MVC是新的。 我在我的自定义URL路由问题感到震惊。 我创建了我的控制器命名为“客户”和行动“DisplayCustomer”。 在Global.asax.cs中页,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace MvcApplication1
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
             new
             {
                 controller = "Customer",
                 action = "DisplayCustomer",
                 id = UrlParameter.Optional
             }); // Parameter defaults//, new { Code = @"\d{1001,1002}" }
        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterRoutes(RouteTable.Routes);
        }
    }
}

我不知道自己做错了什么的话,它总是显示为

http://localhost:50415/Views/Customer/DisplayCustomer.aspx 

不是

http://localhost:50415/Customer/DisplayCustomer

我缺少的东西,使其这个工作?

Answer 1:

复制您的问题

  1. 选择项目属性
  2. 选择Web选项卡

现在,请参阅屏幕高亮部分下方拍摄

蓝本

修改版本

删除了查看目录和.cshtml扩展。 这是因为您设置起始页。

选择当前页面将解决您的问题



Answer 2:

此网址: http://localhost:50415/Views/Customer/DisplayCustomer.aspx可能是在浏览器中打开,当您运行/调试项目,而在Visual Studio中的当前活动文档是DisplayCustomer视图,尝试关闭该文档并重新运行该项目(我认为这个问题是固定的MVC 4个项目)。

更重要的是,你的Routes不正确定义。 如果你想访问你的Action使用默认模式( {Controller}/{Action}和你的情况/Customer/DisplayCustomer )你没有写任何自定义路线,见好就收默认路由的是:

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL pattern
    new { Id = UrlParamter.Optional });

现在,标准的方式来获得指向你的地址Action (从控制器/视图中),是使用Url.Action方法。 例如: Url.Action("DisplayCustomer", "Customer")



Answer 3:

更改“视图”,“默认”

routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
 new {
   controller = "Customer",
   action = "DisplayCustomer",
   id = UrlParameter.Optional
     }); // Parameter defaults
 } 


文章来源: Customize URL in MVC not working