オブジェクトのリストをC#コードに渡して少し苦労しています。私は単純な文字列を渡す場合、それは正常に動作します。それはリストのために働いていません。だから私はここで何かが欠けていると確信しています。HttpPostを使用してViewからコントローラへのオブジェクトのリストを渡します
ビュー
<div class="row control-actions">
@{
List<MyObject> test = ViewBag.ObjectsList;
<button type="button" class="btn btn-primary btn-wide" onclick="addAllObjectsToExp('@test')">Add All</button>
}
</div>
<script type="text/javascript">
function addAllObjectsToExp(objList) {
$.post('@Url.Action("AddAllObjectsToExp", "ExportObjects")', { objectsList: objList},
function (result) {
$('#numbers').html(result);
});
}
</script>
コード
[HttpPost]
[OutputCache(Location = System.Web.UI.OutputCacheLocation.None, NoStore = false, Duration = 0)]
public int AddAllObjectsToExp(List<MyObject> objectsList)
{
foreach(MyObject obj in objectList)
{
//Do something here
}
//and return an integer
}
私は@Test変数はMyObjectにのリストで埋めなっていることがわかりますデバッグ中。しかし、コード側に到達すると常にnullになります。
ここに何か不足している場合は教えてください。さらに情報が必要な場合は教えてください。
model-view-controllerタグは、パターンに関する質問用です。 ASP.NET-MVCの実装には特定のタグがあります。 –