在MVC3 ASP中不能很好地路由.净c#
本文关键字:路由 很好 不能 MVC3 ASP | 更新日期: 2023-09-27 18:12:22
我正在构建我的第一个MVC应用程序,我使用:
1) Visual Studio 2010 ultimate。2) Mysql数据库3)实体框架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
);
}
这是错误时,我试图编辑某些行的区域。
参数字典包含一个非空类型>'System的参数'id'的空条目。Int32' for方法'System.Web.Mvc.ActionResult Edit(Int32)' in>' mvapplication2 . controllers . regioncontroller '。可选参数必须是引用类型、>可空类型,或者声明为可选参数。参数名称:parameters
当我调用编辑发送我到/Region/edit,它应该是/Region/edit/some_id
Thanks in advance
尝试分析您构建链接的cshtml
页面
应该包括区域的id,如:
@Html.ActionLink("Edit", "Edit", new { id = item.REGION_ID })