You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Asp.Net MVC如何在浏览器页面URL末尾添加信息

Asp.Net MVC 自定义文章页面URL实现方法

要把文章页面URL从https://localhost:44328/Blog/Article改成https://localhost:44328/Blog/Article/article-name,按下面几步操作:

  • 修改路由规则
    打开项目App_Start文件夹下的RouteConfig.cs,新增一条自定义路由(务必放在默认路由前面,否则会被默认规则覆盖):

    routes.MapRoute(
        name: "BlogArticle",
        url: "Blog/Article/{articleName}",
        defaults: new { controller = "Blog", action = "Article", articleName = UrlParameter.Optional }
    );
    

    这条规则会匹配Blog/Article/xxx格式的URL,把xxx作为参数传递给Article Action。

  • 更新Controller的Action方法
    找到BlogController,修改Article方法,添加articleName参数用来接收URL中的文章标识:

    public ActionResult Article(string articleName)
    {
        // 这里编写根据articleName获取文章的逻辑,比如从数据库查询对应内容
        var targetArticle = YourArticleRepository.GetBySlug(articleName);
        if (targetArticle == null)
        {
            return HttpNotFound();
        }
        return View(targetArticle);
    }
    
  • 生成正确的跳转链接
    在视图里生成文章链接时,使用Url.Action方法传递articleName参数:

    @Url.Action("Article", "Blog", new { articleName = "your-article-slug" })
    

    这样生成的链接就是符合要求的/Blog/Article/your-article-slug。

  • 兼容旧URL(可选)
    如果需要处理原来的/Blog/Article访问请求,比如重定向到某个默认文章,可以给Article Action添加无参数的重载:

    public ActionResult Article()
    {
        // 重定向到默认文章或者返回文章选择页面
        return RedirectToAction("Article", new { articleName = "default-article" });
    }
    

内容的提问来源于stack exchange,提问作者Leonardo Silva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:20:56