2013-08-16 3 views
0

Я борется с созданием URL-адреса, который будет удобен для пользователя и SEO. У меня есть контроллер HelloWorld:ASP.NET mvc4 дружественный URL

public class HelloWorldController : Controller 
{ 
    // 
    // GET: /HelloWorld/ 

    public string Index() 
    { 
     return "This is my <b>default</b> action..."; 
    } 

    // 
    // GET: /HelloWorld/Welcome/ 

    public string Welcome(string name, int numTimes = 1) 
    { 
     return HttpUtility.HtmlEncode("Hello " + name + ", NumTimes is: " + numTimes); 
    } 

} 

Действие приветствуются потребности параметры, передаваемые как этот

LOCALHOST?: 46963// Добро пожаловать имя HelloWorld = Марека & numTimes = 5

Я хочу спросить, как можно передавать параметры по дружественному URL-адресу, например:

localhost: 46963/HelloWorld/Welcome/Marek/5

. Я пробовал мама с помощью маршрутов, но ничего не работало.

Заранее спасибо.

+4

Пожалуйста, пост код маршрута. Это должно помочь нам определить проблему. – ckv

+0

Вы хотите сделать это в C#, иначе вы хотите еще что-нибудь вроде backbone.js? и PLZ предоставить нам больше кода – Backtrack

ответ

1

просто написать хороший маршрут для себя

routes.MapRoute(
     "Default", 
     "{controller}/{action}/{name}/{id}", 
     new { controller = "HelloWorldController", action = "Welcome", name = UrlParameter.Optional,id=UrlParameter.Optional } 
    ); 

в Params будет отображаться соответствующим образом; они также называют SEO дружественных URL,

Попробуйте эту ссылку, а http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series.aspx

+0

спасибо :) это также можно ограничить использование URL с параметрами, переданными trought? name = xy. Спасибо –

+0

хорошо зависит от вашего выбора структуры URL, вышесказанное является дружественным URL-адресом для SEO, если бы я был вами, я бы предпочел дружественный URL-адрес SEO, но используя обычный? = тип очень прост в использовании, вы всегда можете пропустить параметры в своем маршруте и получить к ним доступ в своем коде, выведя их из строки запроса; Я не буду предлагать использовать его в любом случае. ознакомьтесь с этой статьей для получения дополнительной информации http://www.dotnetcurry.com/ShowArticle.aspx?ID=814 И да, пожалуйста, отметьте ее как «Ответ», если вы чувствуете удовлетворение. –