MVC 3,url参数不分离

本文关键字:参数 不分离 url MVC | 更新日期: 2023-09-27 18:22:25

我对MVC 3越来越熟悉了。我被教程中的第一件事卡住了——难以置信!

这是我的控制器方法:

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

我使用的网址是:

http://localhost:49770/HelloWorld/Welcome?name=Adam?numTimes=4

哪个应该产生这个:

你好,亚当,数字时代是:4

但它实际上变成了这样:

你好,亚当?numTimes=4,numTimes为:1

它不分离参数!我一定错过了一些非常简单的事情!

MVC 3,url参数不分离

您有两个问号(?)。将第二个更改为安培数(&)

http://localhost:49770/HelloWorld/Welcome?name=Adam&numTimes=4

使用http://localhost:49770/HelloWorld/Welcome?name=Adam&numTimes=4

查询字符串中的一系列键/值对用与号分隔。

请参阅http://en.wikipedia.org/wiki/Query_string详细信息。

当形成字符串以发送参数时,特别是如果您使用JSON与AJAX进行此操作,则发送的每个字段之间必须有一个&。&类似于方法参数中的逗号。来自代码的调用可能是Welcome("Adam",4),而来自url的调用看起来像/Welcome?name=Adam&numTimes=4。这个告诉MVC(假设常规路由)使用找到的操作,在本例中为欢迎。后面是名称-值对,用&象征