2012-04-04 47 views
1

我是新來的MVC(MVC3)所以不確定實現這個最好的方法。查看多個部分視圖張貼回來

我想創建一個「主」視圖(不是強類型)。這個「主」視圖將包含多個強類型的局部視圖,每個視圖都包含一個表單。因此,每個局部視圖都會回發到他們自己的POST動作中,並執行任何操作。我看到的問題是,當部分視圖發回時,它只需更新部分視圖本身,而不會影響頁面上的其他部分視圖。

當我現在從部分視圖回發時,它僅返回部分視圖,而不是整個「主」頁面。

這個功能如何在MVC3中實現? (從高級角度看)

謝謝

回答

1

您可以通過AJAX發佈數據。 在我的例子中,我使用jQuery:

<div id="first-form" class="form-container"> 
    @Html.Partial("FirstPartial") 
</div> 

<div id="second-form" class="form-container"> 
    @Html.Partial("SecondPartial") 
</div> 

// and here go rest forms 

你的局部視圖,可以執行以下操作:

@model YourModelClass 
@using (Html.BeginForm()) 
{ 
    // some fields go there 
} 
<input type="button" value="Save Form Data" class="save-button"/> 

的js將以下內容:

$("input.save-button").on("click", function() { 
    var button = $(this); 
    var container = button.closest("div.form-container"); 
    var url = container.find("form").attr("action"); 

    container.busy($.post(url, function (response) { 
     container.html(response); 
    })); 

    return false; 
}); 
+0

感謝pstarkov,正是我一直在尋找。 – DotNetDeveloper 2012-04-10 15:12:50