MapRouting ASP.Net MVC4 - 无法生成新的URL

时间:2014-12-18 11:36:26

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing

我的MapRouting存在问题。我想用数组列表中的名称生成新的URL。我是MVC的新手,正在尝试使用Web应用程序的体验。我想生成没有Action的新链接。我只想要“Localhost / Chat /”+ chatName。如果你不明白感觉我不太擅长解释,请问我问题!

        LocalhostHoardeWebService.varShareWS addChatRooms = new LocalhostHoardeWebService.varShareWS();
        Array wsRespnonsAddChatObject = addChatRooms.addAllChatRoomsRoute();



        foreach (string chatNameArray in wsRespnonsAddChatObject)
        {
            string chatName = chatNameArray.ToString();

            routes.MapRoute(
                name: chatName,
                url: "{controller}/{id}",
                defaults: new { controller = "Chat", id = chatName  }
           );

        }

1 个答案:

答案 0 :(得分:0)

您误解了路线的运作方式。您需要指定默认控制器和操作方法,并在操作方法中将chatName的值传递给参数。你的路线应该看起来像(一条路线,没有环路)。还要确保它高于默认路线。

routes.MapRoute(
  name: "chat",
  url: "Chat/{id}",
  defaults: new { controller = "Chat", action = Index }
);

并在ChatController

public ActionResult Index(string id)
{
  // id is the value of chatName
}

并将其称为/Chat/abc/Chat/xyz