我已經閱讀了關於如何更新局部視圖的一些教程,但他們都假設用戶交互作爲起點(如下拉更改將導致部分視圖中的某些數據更新) 。我的情況有所不同:我試圖從控制器開始更新局部視圖,而無需用戶在UI上進行交互。如果我使用這樣的代碼:從控制器更新部分視圖
[HttpPost]
public ActionResult PerformAction(MyModel mymodel)
{
//....do things
return PartialView("Notification", mymodel);
}
瀏覽器將只顯示局部視圖。建議?由於
以下是主要觀點:
@using System.Web.UI.WebControls
@model MyApplication.Models.Mymodel
@{
ViewBag.Title = "Home Page";
}
<form class="float_left" method="post" action="@Url.Action("Start", "Home")">
<fieldset>
@Html.TextBoxFor(m => m.Username, new { Value = Model.Message })
<input type="submit" value="Subscribe"/>
<div id="notificationMessage">
@{ Html.RenderPartial("~/Views/Home/PartialView.cshtml", new PartialViewModel()); }
</div>
</fieldset>
</form>
,這裏的部分:
@using System.Web.UI.WebControls
@model HostedExchangeListener.Models.PartialViewModel
@Html.TextBoxFor(m => m.Message, new { Value = Model.Message })
因爲您的東西的聲音好像你要使用AJAX呈現局部視圖返回'PartialView'?所以它不會重新加載頁面 –
在教程中,我看到使用了Ajax,但它假定頁面上有一些用戶交互。 – user1472131
那麼有幾種方法,您可以在DOM加載時在部分視圖中加載時使用ajax,或者您可以將模型傳遞給部分視圖。你可以發佈你的視圖,你想渲染的部分,也是你的部分。 –