2012-02-03 53 views
1

我對MVC 3很熟悉。我在教程中遇到了第一件事 - 難以置信!MVC 3,url參數不分開

這是我的控制器法:

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 

這應該產生這樣的:

您好亞當,NumTimes是: 4

但它實際上變成這樣:

你好亞當numTimes = 4,NumTimes是:1

它不會在PARAMS分開!這一定是我錯過的非常簡單的事情!

回答

3

你有2個問號(?)。改變第二一個符號(&)

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

+1爲*爲什麼*原來沒有工作。 – 2012-02-03 08:32:39

+0

哈哈哈,我在嘲笑自己!當然你是對的。自從做webb-stuff以來,我已經有一段時間了。 – kaze 2012-02-03 08:57:07

1

當形成串發送參數,特別是如果你使用JSON這樣做與AJAX,在發送必須是&每個字段之間。 &的作用類似於方法參數中的逗號。而來自代碼的電話可能是Welcome("Adam",4),從url看起來會像/Welcome?name=Adam&numTimes=4。這個?告訴MVC(假設常規路由)使用找到的操作,在這種情況下爲Welcome。接下來是名稱值對,用&符號分隔。