2014-04-23 66 views
0

ASP.Net MVC的路由問題,這是我的操作方法:與參數

public ActionResult Index(int SelectedID, int mode) 
{ 
    ViewModel viewModel = new ViewModel(); 
    viewModel.SelectedID = SelectedID; 
    viewModel.Mode = mode; 
    return View(viewModel); 
} 

這是我怎麼稱呼它:

localservername/DManager/DManager/Index?SelectedID=9306270318&Mode=DataManager 

而且我收到以下錯誤:

The parameters dictionary contains a null entry for parameter 'SelectedID' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult Index(Int32, Int32)' in 'MscanES.Web.Areas.DManager.Controllers.DManagerController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter. Parameter name: parameters

無知..

+0

錯誤消息似乎是在談論'SelectedID',這看起來沒問題。但是你的'模式'似乎完全錯誤。你確定那是你得到的錯誤嗎? 'Mode'是一個'int','DataManager'不是'int' – Liam

+0

如果mode是enum,則聲明它爲enum類型,而不是int – archil

+0

@Liam,archil,對不起,我事先糾正了它,但忘記了反映我在這裏提交的網址。但真正的問題是在Int範圍內,它是通過WeTTTT的幫助來解決的 – Hasteq

回答

3

C#int(Int32)r ange是-2,147,483,6482,147,483,647。您的號碼9,306,270,318顯然超出範圍,請改用Int64。

+0

+1,nice catch – archil

+0

感謝WeTTTT,解決了問題 – Hasteq