【问题标题】:Error in Details link of MVC3 applicationMVC3 应用程序的详细信息链接错误
【发布时间】:2013-06-02 14:03:44
【问题描述】:

我正在 asp.net MVC3 中创建一个论坛,它包含详细信息链接,单击该链接将显示特定记录的详细信息,但是当我单击详细信息链接时出现以下错误。

参数字典包含参数“id”的空条目 方法的不可空类型“System.Int32” 'System.Web.Mvc.ActionResult 详细信息(Int32)' 在 'Prjct_name.Controllers.DefaultController'。可选参数必须 是引用类型、可为空的类型或被声明为可选项 范围。参数名称:参数

由于我对 MVC 很陌生,不知道如何处理这个

【问题讨论】:

  • 您能否显示您用于呈现链接的代码,以及链接生成的 HTML 实际是什么? href 可能缺少 id 的占位符

标签: asp.net-mvc asp.net-mvc-3


【解决方案1】:

您仍然想使用此 URL [www.mydomain.com/Default/Details] 您可以在控制器中将 id 设置为 nullbale:

  public ActionResult Details(int? id)
   {
        if (id ==null)
          { 
          // Do stuff
          } 
        else
          { // Do something else
           }
    }

【讨论】:

    【解决方案2】:

    听起来你的 ActionResult 是这样的:

    public ActionResult Details(int id)
    {
        //Do stuff
    }
    

    这需要 url 类似于 www.mydomain.com/Default/Details/1 ,其中 1 是项目的 id,但您点击的 url 是 www.mydomain.com/Default/Details 没有 /[ ID]。在 MVC 中,如果您的 ActionResult 参数之一是“id”,则该参数应位于 url...而不是查询字符串中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多