我正在构建我的第一个MVC应用程序,我正在使用:
1)Visual Studio 2010终极版。 2)Mysql数据库 3)EntityFramework 4
这是我的代码
型号:
namespace MvcApplication2.Models{
using System;
using System.Collections.Generic;
public partial class region
{
public region()
{
this.provincia = new HashSet<provincia>();
}
public int REGION_ID { get; set; }
public string REGION_NOMBRE { get; set; }
public virtual ICollection<provincia> provincia { get; set; }
}}
控制器:
//
// GET: /Region/Edit/5
public ActionResult Edit(int id)
{
region region = db.region.Find(id);
return View(region);
}
//
// POST: /Region/Edit/5
[HttpPost]
public ActionResult Edit(region region)
{
if (ModelState.IsValid)
{
db.Entry(region).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(region);
}
的Global.asax.cs:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
当我试图编辑某些区域时,这是错误。
参数字典包含参数&#39; id&#39;的空条目。非可空类型&gt;&#39; System.Int32&#39; for method&#39; System.Web.Mvc.ActionResult Edit(Int32)&#39;在&gt;&#39; MvcApplication2.Controllers.RegionController&#39;。可选参数必须是引用类型,>可空类型,或者声明为可选参数。 参数名称:参数
当我调用编辑时,请将我发送到/ Region / Edit,它应该是/ Region / Edit / some_id
提前致谢
答案 0 :(得分:2)
尝试分析构建链接的cshtml
页面。
它应该包含区域的ID,如:
@Html.ActionLink("Edit", "Edit", new { id = item.REGION_ID })