我有一个控制器,其动作方法如下:
public class InventoryController : Controller
{
public ActionResult ViewStockNext(int firstItem)
{
// Do some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到一个错误说明:
参数字典不包含参数'firstItem'的类型'System.Int32'的有效值.要使参数可选,其类型应为引用类型或Nullable类型.
我让它在某一点工作,我决定尝试没有参数的功能.发现控制器不是持久的我将参数重新放入,现在它在调用方法时拒绝识别参数.
我正在使用此url语法来调用该操作:
http://localhost:2316/Inventory/ViewStockNext/11
Run Code Online (Sandbox Code Playgroud)
任何想法为什么我会得到这个错误以及我需要做些什么来解决它?
我已经尝试添加另一个方法,该方法将一个整数带到类中,它也因为同样的原因而失败.我尝试添加一个带字符串的字符串,并将字符串设置为null.我已经尝试添加一个没有参数,并且工作正常,但当然它不适合我的需要.
我正在研究一个基本的问题管理系统,以便学习ASP.NET MVC.我已经把它运行到相当不错的水平,但我遇到了一个问题.
我有一个名为Issue的控制器,其视图名为Open./ Issue/Open列出当前系统上记录的所有未解决问题.我已经定义了这样的路线:
routes.MapRoute(
"OpenSort", // Route name
"Issue/Open/{sort}", // URL with parameters
new { controller = "Issue", action = "Open", sort = "TimeLogged" } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是正常工作,使用IssueController.cs中的以下代码:
public ActionResult Open(string sort)
{
var Issues = from i in db.Issues where i.Status == "Open" orderby i.TimeLogged ascending select i;
switch (sort)
{
case "ID":
Issues = from i in db.Issues where i.Status == "Open" orderby i.ID ascending select i;
break;
case "TimeLogged":
goto default;
case "Technician":
Issues …Run Code Online (Sandbox Code Playgroud)