2017-08-08 12 views
0

私は2つのプロジェクトAsp.net CoreAsp.net Mvcを持っています。 私は二つのプロジェクトを実行すると、私の問題は、私は、Asp.net MvcAsp.net CoreからActionResultにこれをモデルを投稿したい場合ということですangualrjsAsp.netコアからアスペクトのAsp.net Mvcにデータを送信

と第二プロジェクト(Asp.net Mvc)に最初のプロジェクト(Asp.net Core)からのデータを送信するためにワンドActionResultに値がありません。最初のプロジェクト(Asp.net Core)で

Angularjs:

$rootScope.PrintCArd2 = function() { 
    $scope.TblFishCar = {}; 
    $scope.TblFishCar.IdFish = $rootScope.TblFishCarIdFish; 


    $http.post("http://localhost:61779/Report/GetFishReport", $scope.TblFishCar).then(function (result) { 
     alert("Ok2"); 
    }, 
     function (e) { 
      alert("warning"+e); 
     }); 
}; 

二projcet(Asp.net Mvc)でのActionResult:

public class ReportController : Controller 
{ 

    [System.Web.Http.HttpPost] 
    public ActionResult GetFishReport([FromBody]TblFishCar model) 
    { 
     //do something 
     return PartialView("_ShowReport"); 
    } 
} 

angularjs公共ActionResult GetFishReport([FromBody]TblFishCar model)を呼び出しますが、モデルが値を持っていません。

TblFishCar:

public partial class TblFishCar 
{ 
    public Guid IdFish { get; set; } 
    public int ShFish { get; set; } 
    public string DateFish { get; set; } 
} 

どのように私はこの問題を解決することができますか?

+0

はあなた 'TblFishCarのmodel'クラスを表示することができますか?また、この回答を参照してください - https://stackoverflow.com/questions/30957248/how-to-send-post-in-angularjs-with-multiple-params/30957308#30957308 – Sajal

+0

はい私の投稿を編集しました –

+0

'Guid'を'string'をモデルクラスに追加し、メソッドの引数から' [FromBody] 'を削除します。後でメソッド本体に文字列をキャストすることができます(必要ならば!)。 – Sajal

答えて

1

ブラウザの開発者ツールを見て、実際のエラーを確認してください。 また、あなたはあなたのMVCのアプリでcross origin requestsを有効にする必要があります。

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"></modules> 
    <httpProtocol> 
     <customHeaders> 
     <add name="Access-Control-Allow-Origin" value="*" /> 
     <add name="Access-Control-Allow-Headers" value="*" /> 
     <add name="Access-Control-Allow-Credentials" value="true" /> 
     </customHeaders> 
    </httpProtocol> 
    <handlers> 
     <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
     <!--<remove name="OPTIONSVerbHandler" />--> 
     <remove name="TRACEVerbHandler" /> 
     <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
    </handlers> 
    </system.webServer> 
関連する問題