Asp.net mvc 在Route Config for development中将编辑页面设置为默认页面将触发HTTPOST
我目前正在为其中一个模型开发编辑页面,所以我在Route Config中将编辑页面设置为默认页面。问题是,出于某种原因,它会触发Post事件而不是Get。示例非常简单:Asp.net mvc 在Route Config for development中将编辑页面设置为默认页面将触发HTTPOST,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我目前正在为其中一个模型开发编辑页面,所以我在Route Config中将编辑页面设置为默认页面。问题是,出于某种原因,它会触发Post事件而不是Get。示例非常简单: [HttpGet] public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } JobLine jobLine
[HttpGet]
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
JobLine jobLine = db.JobLines.Find(id);
if (jobLine == null)
{
return HttpNotFound();
}
Mapper.CreateMap<JobLine, JobLineDTO>();
JobLineDTO joblineDTO = Mapper.Map<JobLine, JobLineDTO>(jobLine);
return View("Create",joblineDTO);
}
[HttpPost]
public ActionResult Edit(JobLineDTO jobLineDTO)
{
return View();
}
您能显示默认路线吗?还有您要编辑的表单吗?(只有
Html.BeginForm….
)表单太大了,所以这里是开始和结束:@using(Html.BeginForm()){@Html.AntiForgeryToken()}这一切看起来都很好。如何尝试访问编辑
操作?我在一个示例项目中复制了您的代码,它按预期工作。检查代码的任何其他部分是否有任何重定向。没有任何重定向。我自己在一个新项目中重新创建了它,一切似乎都正常。我真的不明白。。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Joblines", action = "Edit", id = 1 /*UrlParameter.Optional*/ }
);
}