Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET mvc4友好url_.net_Url_Asp.net Mvc 4_User Friendly - Fatal编程技术网

ASP.NET mvc4友好url

ASP.NET mvc4友好url,.net,url,asp.net-mvc-4,user-friendly,.net,Url,Asp.net Mvc 4,User Friendly,我正在努力创建一个对用户和搜索引擎友好的url。我拥有HelloWorld控制器: public class HelloWorldController : Controller { // // GET: /HelloWorld/ public string Index() { return "This is my <b>default</b> action..."; } // //

我正在努力创建一个对用户和搜索引擎友好的url。我拥有HelloWorld控制器:

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);
    }

}
公共类HelloWorldController:控制器
{
// 
//获取:/HelloWorld/
公共字符串索引()
{ 
返回“这是我的默认操作…”;
} 
// 
//获取:/HelloWorld/欢迎/
公共字符串欢迎(字符串名称,int numTimes=1)
{
返回HttpUtility.HtmlEncode(“Hello”+name+”,NumTimes为:“+NumTimes”);
}
}
Action welcome需要像这样传递参数

localhost:46963/HelloWorld/Welcome?name=Marek&numTimes=5

我想问一下,如何通过用户友好的url传递参数,例如:

本地主机:46963/HelloWorld/Welcome/Marek/5

。我尝试了一些有路线的魔法,但是没有任何效果


提前谢谢。

给自己写一条好路线就行了

  routes.MapRoute(
        "Default",
        "{controller}/{action}/{name}/{id}",
        new { controller = "HelloWorldController", action = "Welcome", name = UrlParameter.Optional,id=UrlParameter.Optional }
    );
参数将相应地映射;这些也被称为SEO友好的url


也可以尝试此链接

请发布您的路线代码。这应该有助于我们确定问题所在。你想用c#做这个,还是想用其他东西,比如backbone.js?plz为我们提供了更多的代码谢谢:)是否也可以通过trought传递的参数来限制url的使用?name=xy。谢谢你,这取决于你对url结构的选择,上面提到的是一个SEO友好的url,如果我是你,我更喜欢SEO友好的url,但是使用普通的?=类型真的很容易,你总是可以跳过路由中的参数,通过从查询字符串中取出它们来访问代码中的参数;无论如何,我都不建议使用它。查看这篇文章,了解更多信息。是的,如果您感到满意,请将其标记为答案。