【发布时间】:2017-12-16 22:20:55
【问题描述】:
我正在.net MVC 中创建一个演示应用程序。
下面是来自我的 StudentController 的代码 sn-p。
public ActionResult Edit(int studentId)
{
var std = studentList.Where(s => s.StudentId == studentId).FirstOrDefault();
return View(std);
}
[HttpPost]
public ActionResult Edit(Student std)
{
//write code to update student
return RedirectToAction("Index");
}
来自 RouteConfig 的代码 sn-p :
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
当我点击 url http://localhost:54977/student/Edit/1 我得到以下异常。
The parameters dictionary contains a null entry for parameter 'studentId' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult Edit(Int32)' in 'MVC1.Controllers.StudentController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parameter name: parameters.
但是当我点击 url http://localhost:54976/student/Edit?StudentId=1 时它工作正常。
我是 .net MVC 的新手。有人可以建议我吗?
【问题讨论】:
-
请显示您的 RouteMap 设置
-
我在我的问题中添加了相同的内容..
标签: c# asp.net-mvc