ASP.Net MVC Маршруты - PullRequest
0 голосов
/ 01 июня 2009

Я пытаюсь установить простую систему маршрутизации в моем приложении ASP.NET MVC C #, и она не работает: /

Вот мой корень "http://localhost/Admin/" или" http://localhost/Admin/Home.mvc/Index"

У меня есть HomeController, который управляет индексом и стартовой страницей.

На странице указателя у меня есть список клиентов для выбора (кнопка или что-то еще), и я хотел бы перейти к "http://localhost/StoreV3Admin/{client}/Home.mvc/Start" в функции выбранного клиента.

Я провел некоторые исследования по этому вопросу, но я не совсем понимаю, как работает система маршрутизации.

Во-первых, возможно ли это?

Thx.

Ответы [ 2 ]

2 голосов
/ 01 июня 2009

Я только что собрал простое приложение mvc, и я смог заставить работать то, что вы описали, просто отлично.

В моем global.asax.cs в методе RegisterRoutes я добавил следующий маршрут:

routes.MapRoute(
    "Client",
    "{client}/{controller}/{action}/{id}",
    new { client = "Default", controller = "Home", action = "Index", id = "" }
    );

В моем контроллере я объявляю такой метод:

public ActionResult FooBar(string client)
{
    return View();
}

На мой взгляд, я строю ссылки так:

<p><%= Html.ActionLink("Client1", "FooBar", "Home", new { client = "Client1"}, null) %></p>
<p><%= Html.ActionLink("Client2", "FooBar", "Home", new { client = "Client2"}, null) %></p>
<p><%= Html.ActionLink("Client3", "FooBar", "Home", new { client = "Client3"}, null) %></p>

И получившаяся разметка в итоге выглядит так:

<p><a href="/Client1/Home/FooBar">Client1</a></p>
    <p><a href="/Client2/Home/FooBar">Client2</a></p>
    <p><a href="/Client3/Home/FooBar">Client3</a></p>

Надеюсь, это поможет.

0 голосов
/ 01 июня 2009

Я думаю, что ваше приложение MVC должно постоянно находиться в корне приложения, чтобы нормально функционировать. Попробуйте создать VirtualDirectory в IIS и посмотрите, поможет ли это.

А почему у вас есть маршрут ".mvc"? Разве вы не имеете в виду http://localhost/Admnin/Home/Index?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...