2016-11-05 156 views
-1

我創造了MVC5一個Web應用程序與angularjs參數字典包含

當我試圖表明我的表我的一個歡迎頁面上的參數mvc5無效項, 這個錯誤窗口顯示了以下錯誤消息

參數字典包含參數方法非空類型「System.Int32」的「按鈕」一個空條目「System.Web.Mvc.JsonResult歡迎(System.String,System.String, Int32)'in'mvcerp2.Controllers.welcomepageController'。可選參數必須是引用類型,可爲空類型,或者聲明爲可選參數。

參數名:參數

我這是怎麼傳遞的參數在SQL存儲過程

alter PROCEDURE welcomepageproc 
( 
@log varchar(50), 
@pm varchar(50), 
@Button int 
) 

,這是我的web服務

log = "admin"; 
     pm = "admin"; 
     button = 0; 
     List<object> welcome = new List<object>(); 
     SqlCommand cmd = new SqlCommand("welcomepageproc"); 
     cmd.Connection = con; 
     cmd.CommandType = CommandType.StoredProcedure; 
     SqlParameter[] param = 
     { 
      new SqlParameter("@log",log), 
      new SqlParameter("@pm",pm), 
      new SqlParameter("@Button",button) 
     }; 
     con.Open(); 

我這是怎麼過變量在我的js文件中

params: 
    { 
     log: 'admin', 
     pm: 'admin', 
     button:0 
    } 

任何人都知道這是怎麼回事

+1

錯誤與您顯示的代碼無關。因爲您沒有將值傳遞給控制器​​方法而拋出它 - 您需要顯示控制器方法的簽名以及如何生成調用它的url –

回答

0

您發佈的代碼與錯誤無關。

在welcomepageController你有這個簽名的動作:

System.Web.Mvc.JsonResult welcome(System.String, System.String, Int32) 

從錯誤似乎最後一個參數被命名爲「按鈕」,它是一個整數。這個整數是必需的(不能爲空),但無論調用該操作是傳遞一個空值,這就是爲什麼MVC拋出該異常。

要麼傳遞一個值,要麼使按鈕參數成爲一個可爲空的整數。我也不會調用一個整數按鈕,但這超出了這個問題。

相關問題