我有一个名为User的区域,并为此编写MapRoute:

  context.MapRoute(
      "User_Category",
      "User/Category/{categoryId}",
       new { controller = "Product", action = "Category", categoryId = UrlParameter.Optional },
       new { categoryId = @"\d+" }
  );

这是另一个示例,我有一个链接:

<%=Html.ActionLink("Điện thoại", "Category", new { area = "User", controller = "Product", id = 1  }, null) %>
(http://localhost:8578/User/Product/Category/1)

当然,我不能这样做:

<%=Html.ActionLink("Điện thoại", "User/Category", new { area = "User", controller = "Product", id = 1  }, null) %>

按照上面的MapRoute进行了修改。 这意味着它在一个区域中,我不知道如何将区域名称传递到ActionLink中以使其具有: http://localhost:8587/User/Category/1

但是我想要的是将ActionLink替换为RouteUrl以获取诸如**http://localhost:8587/User/Category/1**绝对链接

我该怎么办? 以及如何删除网址中的用户名? 感谢收看!

===============>>#1 票数:1

我认为这是因为您的路由是使用route参数categoryId定义的,但是您的操作链接仅使用id参数? 如果是这样,请尝试以下方法:

<%=Html.ActionLink("Điện thoại", "Category", new { area = "User", controller = "Product", categoryId= 1  }, null) %>

如果您想要完整的绝对URL,则可以执行以下操作:

<a href="<%= Html.ViewContext.HttpContext.Request.Url.GetLeftPart(UriPartial.Authority) + Url.Action("Category", new { area = "User", controller = "Product", categoryId= 1  }) %>">Điện thoại</a>

  ask by Killer Whale translate from so

未解决问题?本站智能推荐:

1回复

MVC .NET 4 MapRoute + ActionLink或RouteLink问题

好的,这是交易。 我有一个名为“ Hotel”的控制器,其视图名为“ Index”,在这里我试图生成代码以允许我生成以下形式的链接: ID作为参数传递的ID。 为此,我尝试使用MapRoute: 与ActionLink一起使用: 但是结果链接如下所示: 这将导
1回复

将URL从URL映射到ASP.NET MVC 2中的空路由。 网址显示空白页

如果URL是 http:// localhost:54027 / test1 / test2 / home 显示首页 如果URL是 http:// localhost:54027 / test1 / test2 / 显示空白页面 以下是我们使用的路线 如果我们尝试
1回复

个性化asp.net MVC路由标尺

我不完全了解如何在asp.net mvc中使用路由。 我将视图和控制器组织在2个主文件夹中:前台和后台。 现在,我想在后台内部以这种方式构建网址的操作:frontoffice / controller / action / parameters和文件夹frontoffice内部的操作以传统方
1回复

ASP.NET MVC中的路由

我正在尝试在MVC项目中路由链接。 我尝试了两种方法: 对于这两种方法,我都会收到错误: HTTP404。您正在寻找的资源(或其依赖项之一)可能已被删除,名称更改或暂时不可用。 请查看以下网址,并确保其拼写正确。
2回复

如何在maproute上捕获参数?

如何获取路线图模式中的某个部分。例如,我在配置文件中将一个路线图模式作为routes.MapRoute("", "Post/{slug}", new { controller = "Post", action = "Index" }) ,我想在global.asax中捕获slug参数。我尝试了如
1回复

ASP.NET MVC-路由适用于/ home,但不适用于/ home / index

我正在尝试为我在线完成的项目添加视图。 加载默认网页时,将加载Home控制器中的Index操作。 当我导航到/ home时,将加载Home控制器中的Index操作。 但是,当我导航到/ home / index时,会弹出一个错误。 这是启动类中的默认路由: 这是我的家庭控
1回复

此MVC路线有什么问题?

我想创建一个自定义图像URL处理程序,该处理程序可以使用以下URL模式处理GET请求: http://blah.com/images/image1.gif 为了解决这个问题,我创建了以下路线: 即使对于名称中没有空格的图像,这似乎也不起作用。 我究竟做错了什么?
6回复

ASP.NET MVC - 将数组对象作为Html.ActionLink(...)中的路由值传递

我有一个返回数组(string [])的方法,我试图将这个字符串数组传递给一个Action Link,这样它就会创建一个类似于的查询字符串: 但是当我传递新的{str = GetStringArray()}时,我得到以下网址: 所以基本上它采用我的字符串[]并在其上运行.ToSt
1回复

为什么RouteLink生成友好的URL而ActionLink没有?

我有一个关于RouteLink与ActionLink的问题。 请考虑以下路线 奇怪的{someEnum}部分是因为我对枚举的所有值使用通用控制器,它构成了url的典型控制器部分。 例如,/ EnumVal1 / Action /和/ EnumVal2 / Action /使用相同
3回复

ActionLink在路径部分而不是路径部分中生成url参数

我有以下ActionMethod: 第一个参数是必需的,其余参数是可选的。 当我调用以下默认MVC方法创建ActionLink时 链接生成到: 我认为应该是: 当我单击链接时,我收到一个404错误页面,该页面未找到。 当我传递第二个参数的默认值时