Asp.net mvc 在Route Config for development中将编辑页面设置为默认页面将触发HTTPOST

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

我目前正在为其中一个模型开发编辑页面,所以我在Route Config中将编辑页面设置为默认页面。问题是,出于某种原因,它会触发Post事件而不是Get。示例非常简单:

[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*/ }
    );
}