簡體   English   中英

表單提交時沒有數據綁定

[英]No data binding on form submission

我正在將ASP.NET 5應用程序遷移到ASP.NET Core。 除我無法提交表格外,其他一切進展順利。

當我這樣做時,查看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] ...),結果都是null。 我不知道下一步該怎么做。 任何幫助將不勝感激:D

提前致謝 :)

我找到了解決方法。 這是RC2的已知錯誤。

根據此鏈接 ,您需要下載此文件並將其放在項目中所需的任何位置。 然后,您只需要在Startup.cs中添加行services.AddSingleton<IModelBinderFactory, MyModelBinderFactory>();

就這樣! 對我來說,它有效:D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM