Перезапись URL в C # - PullRequest
       15

Перезапись URL в C #

0 голосов
/ 29 июня 2010

Я заметил вопросы, аналогичные тем, которые я должен задать, но я чувствую, что мне не ответили на мой вопрос.

Я создал админ-панель для клиента. У него есть возможность создавать пункты назначения (то есть Рим, Барселона, Канкун)

Вся информация для каждого пункта назначения является динамической и в настоящее время выглядит следующим образом:

/ Destination.aspx? ID = 1

Я бы хотел, чтобы это выглядело так:

/ Рим / или / Канкун /

Это правдоподобно?

Ответы [ 3 ]

2 голосов
/ 29 июня 2010

Да, это вполне возможно. Если вы используете функцию маршрутизации в ASP.NET , то заставить ее работать довольно легко (маршрутизация не только для MVC, вы знаете!)

В Global.asax.cs:

protected void Application_Start(object sender, EventArgs e)
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("",
        "Destinations/{name}",
        "~/Destinations.aspx");
}

Затем на странице получателей вы получаете доступ к параметру следующим образом:

private void Destinations_Load(object sender, EventArgs e)
{
    string destinationName = Convert.ToString(RouteData.Values["name"]);
    // load destination with name destinationName...
}
0 голосов
/ 29 июня 2010

Вы должны использовать ASP.Net Routing , который может использоваться независимо от инфраструктуры MVC.

0 голосов
/ 29 июня 2010

Проверьте ASP MVC Framework здесь .С платформой MVC очень легко иметь интерфейс RESTful.С помощью фреймворка вы можете использовать URL-адреса «каталоги» в качестве параметров.

У вас может быть что-то вроде / Vacation / Places / Cancun, а под контроллером Vacation у вас может быть метод, подобный следующему:


 public void Places(string place)
 {
     if(place.Equals("Cancun"))
     {
              return View("Cancun");
     }
     else if(place.Equals("Puerto Rico"))
     {
         .......
     }
     ...............
}
...