相关疑难解决方法(0)

ASP.NET MVC - 将参数传递给控制器

我有一个控制器,其动作方法如下:

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.我已经尝试添加一个没有参数,并且工作正常,但当然它不适合我的需要.

c# asp.net-mvc

102
推荐指数
7
解决办法
33万
查看次数

在ASP.NET MVC中将多个参数传递给控制器​​; 另外,在LINQ-to-SQL中生成动态查询

我正在研究一个基本的问题管理系统,以便学习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)

c# sql linq asp.net-mvc controller

27
推荐指数
3
解决办法
6万
查看次数

标签 统计

asp.net-mvc ×2

c# ×2

controller ×1

linq ×1

sql ×1