2017-05-05 9 views
0

ViewからMy Controllerにモデルを渡す方法は?Asp.netでパーシャルビューにモデルを渡すには?

私は、私の見解で私が部分的に持っている:私のコントローラで

<div class="parking-status"> 
@Html.Partial("_Restaurants", Model) 
</div> 
@section Scripts 
<script type="text/javascript"> 
    setInterval(function() { 
    $('.parking-status').hide().load('/Home/Refresh').fadeIn('slow'); 
    }, 3000); 
</script>` 

public ActionResult Refresh(RestaurantListViewModel model) 
{ 
    ...some operations on model... 
    return PartialView("~/Views/Home/_Restaurants.cshtml", model); 
} 

は、どのように私はビューからのActionResultにモデルを渡す必要がありますか?私は試しました:

setInterval(function() { 
    $('.parking-status').hide().load('/Home/Refresh', { model :'@Model'}).fadeIn('slow'); 
}, 3000); 

ただし、nullはRefresh()メソッドに渡されました。

答えて

0

モデルをフォーム提出として提出する必要があります。フォームに送信するHttpPostデコレータを持つ別のRefreshメソッドがコントローラにあります。モデルからのすべてのデータがフォーム内のどこかに表示されるか隠されたフィールドにバインドされていることを確認する必要があります。

0

[HttpPost]デコレータを持つアクションに投稿するには、ajaxメソッドを使用する必要があります。クライアントコードは次のようになります。

  $.ajax({ 
       async: false, 
       cache: false, 
       url: '@Url.Action("MyAction", "MyController")', 
       type: 'GET', 
       dataType: 'json', 
       data: myJsonString } 

);

関連する問題