我正在将ASP.NET 5应用程序迁移到ASP.NET核心。除了我不能提交表格外,一切进展顺利。
当我这样做时,查看Chrome的网络时间线,到达控制器URL(/ MyController / Create)但没有任何反应(浏览器空闲,等待)。
在寻找一些解释之后:尝试调用无参数控制器工作正常。添加[FromForm]返回415. [FromData]空闲...
我在互联网上找不到任何东西。这里也! (这是我一生中的第一次)。
注意:使用ASP.NET 5 MVC 6一切正常。两边都有相同的代码。
这是我的控制器代码:
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create(SocieteGroupe societeGroupe)
{
if (ModelState.IsValid)
{
_context.SocieteGroupe.Add(societeGroupe);
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
ViewData["Id_Devise"] = new SelectList(_context.Devise, "Id", "Code_ISO", societeGroupe.Id_Devise);
return View(PackageUtils.GetViewPath(viewPath, OperationType.CREATE), societeGroupe);
}
我的观点:
<form asp-controller="SocieteGroupes" asp-action="Create">
<div class="form-horizontal">
<h4>SocieteGroupe</h4>
<hr />
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Id_Devise" class="col-md-2 control-label"></label>
<div class="col-md-10">
<select asp-for="Id_Devise" class ="form-control" asp-items="ViewBag.Id_Devise"></select>
</div>
</div>
<div class="form-group">
<label asp-for="Id_Salesforce" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Id_Salesforce" class="form-control" />
<span asp-validation-for="Id_Salesforce" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="Nom" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Nom" class="form-control" />
<span asp-validation-for="Nom" class="text-danger" />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
有人已经解决了这个问题或对此有所了解吗?
编辑:
而不是使用复杂类型作为参数。我尝试(出于调试目的)使用字符串代替并以Json格式返回字符串以进行调试。无论我使用什么(没有,[FromForm],[FromBody] ...),结果为空。我不知道接下来该做什么。任何帮助将不胜感激:D
提前致谢:)