2017-05-05 155 views
0

我應該如何將視圖傳遞給我的控制器?如何將模型傳遞給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

您需要提交模型作爲表單提交。您的控制器中會有另一個Refresh方法,它具有表單將提交到的HttpPost修飾器。您需要確保模型中的所有數據都以可見或隱藏的形式綁定在某個位置。

0

您需要使用ajax方法發佈到具有[HttpPost]裝飾器的操作。客戶代碼看起來像這樣:

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

);

相關問題