2016-05-27 6 views
2

私はASP.NET 5アプリケーションをASP.NETコアに移行しています。私はフォームを提出できないことを除いて、すべてうまくいっています。フォーム提出時にデータバインディングがありません

Chromeのネットワークタイムラインを見ると、コントローラのURL(/ MyController/Create)に達しても何も起こりません(ブラウザが待機中です)。

いくつかの説明を探した後:パラメータのないコントローラを呼び出すとうまく動作します。 [FromForm]を追加すると415が返されます。[FromData]もアイドル状態です...

インターネット上で何も見つかりません。ここでも! (私の一生の間初めて)。

NB:すべてが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

感謝を:)

+0

ru RC2の.netコアを使用して(すなわち、現在の最新の.netコアが利用可能)? – wal

+0

はい。私たちは最後の金曜日に公式リポジトリからダウンロードして、問題が解決されたかどうかを確認するために今日再インストールしました。しかし、そうではありません:/ –

+0

あなたはRC1または他のいくつかのプレリリース版からアップグレードしたとします。前にRC-xをインストールしていない「きれいな」PCで試すことができますか?第2に、新しい* RC2プロジェクトを開始し、そのコードを追加して何が起こるかを見ることです。この段階で推測していますが、これは私の最初のステップです – wal

答えて

0

私は回避策を見つけました。これはRC2の既知のバグです。

このlinkによれば、fileをダウンロードして、プロジェクトのどこにでも置く必要があります。次に、Startup.csでラインを追加するだけです。services.AddSingleton<IModelBinderFactory, MyModelBinderFactory>();

これだけです!私のために、それは働いた:D

関連する問題