次のシナリオとコードスニペットを検討してください。これはASP.NET MVC、Angular 1.x、JS、Jqueryの技術に基づいています。http投稿要求は、ASP NET MVCでパラメータを 'Null'に変換します
テキストボックスがあり、プロパティid = "textExample" ng-model = "exampleText"があるとします。私はMVCのアーキテクチャに従って、ビューからコントローラにテキストボックス入力を送信するつもりです。だから、この作業のために私は以下のコードスニペットを使いました。
(A)
$http ({
// Rest is avoided for now //
data : $.param({'Test_Code' : $scope.exampleText})
}).then() ---
(B)
$http({
data : "sendingData"
}).then ({})
(C)
$http ({
data : ({'Test_Code' : $scope.exampleText})
})
(D)
$http({
data : $("#textExample").val()
})
(E)
var testExample = $scope.exampleText ; // $scope.exampleText == 'XYZ'
$http ({
data : ({'Test_Code' : testExample })
})
アプリケーションを実行した後、私はフロントエンドで各機能をチェックする(開発者コンソールをグーグル)、そしてそれは私が送信しようとしていますパラメータでヒット。バックエンド/コントローラーサイド、ASP NET MVCコントローラ、POSTリクエストで結果を受け
(A) --> Value is Null
(B) --> Value is "sendingData"
(C) --> Value is Null
(D) --> Value is Null
(E) --> Value is 'XYZ'
私が見つけた主な問題(私が見るように)、すべての5つの関数は、パラメータを取得していても、それが変化していることですコントローラに送信されるときの値。しかし、ハードコーディングされたパラメータは変更されません(B)。これらの技術のうちの1つは、他の技術が成功しなければ成功することがあります。だから、なぜこのようなことが起こるのか、誰かが私に説明することができますか?何が悪い慣行であるか
コントローラのアクションの詳細を共有してください。コントローラ内 – MKR
@Manoj 処置: '公共IHttpActionResult testExample(testModel testParameter) {リターンOK(testParameter.Test_Code)。 } ' ** testParameter **はModelで、Test_CodeタイプのStringプロパティを持っています。 –