Когда я передать несколько параметров действия контроллера, я получаю вопросительные знаки в параметрах, как это:Как удалить знаки вопроса в Asp.net MVC маршрутов несколько параметров
http://localhost:57728/Home/AddAndManageProperties?BaseCategoryId=11&SubCategoryId=14
Я хочу, чтобы удалить вопросительные знаки, чтобы быть похожим на это:
http://localhost:57728/Home/AddAndManageProperties/BaseCategoryId=11/SubCategoryId=14
вот мой код:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "MyRout",
url: "{controller}/{action}/{BaseCategoryId}/{SubCategoryId}",
defaults: new { controller = "Home", action = "AddAndManageProperties", BaseCategoryId = UrlParameter.Optional, SubCategoryId = UrlParameter.Optional }
);
}
}
А вот метод действий:
public ActionResult AddAndManageProperties(int? BaseCategoryId, int? SubCategoryId)
{
}
И я вызываю метод AddAndManageProperties этим методом
[HttpPost]
public ActionResult AddSubCategory(SubCategory subCategory)
{
return RedirectToAction("AddAndManageProperties", new { BaseCategoryId = subCategory.BaseCategoryId, SubCategoryId = subCategory.SubCategoryId });
}
Я новичок в ASP.NET MVC, поэтому, пожалуйста, помогите мне!
Сначала вам нужно удалить 'BaseCategoryId = UrlParameter.Optional, SubCategoryId = UrlParameter.Optional' - только последний параметр может быть необязательным. Затем, если вы измените его на «url:» Home/AddAndManageProperties/{BaseCategoryId}/{SubCategoryId} "и переместите его до маршрута по умолчанию, он будет работать, если ваш метод имеет соответствующие имена параметров. –
@ StephenMuecke Большое вам спасибо за вашу помощь :) Не могли бы вы, пожалуйста, написать код, чтобы я мог его понять ... извините, я очень новичок в mvc. Спасибо – Lucia
Сначала отредактируйте свой вопрос, чтобы включить подпись вашего метода 'AddAndManageProperties()', и покажите, как вы генерируете URL-адрес (я предполагаю, что вы используете '@ Html.ActionLink()'? –