如何:
路線:
routes.MapRoute(
name: "UserEdit",
url: "Edit/{user}",
defaults: new { controller = "User", action = "Edit" },
constraints: new { user = @"[a-z0-9]+" /*Add valid characters here*/ }
);
routes.MapRoute(
name: "UserEditWithIllegalChars",
url: "Edit/",
defaults: new { controller = "User", action = "Edit" }
);
路線將只匹配像/編輯/麥克和Edit/[email protected]網址。
生成URL也可以。例如
@Html.ActionLink("1", "Edit", "User", new { user = "Mike" }, new { })
@Html.ActionLink("2", "Edit", "User", new { user = "[email protected]" }, new { })
產生相同的網址,如上
控制器:
public ActionResult Edit(string user)
注: 1),你需要檢查用戶是否爲空 2)添加有效的字符集約束因爲我不知道他們全部。
謝謝,我不知道約束。 –