我的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 }
);
}
答案 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