什麼是最好的,大家好,MVC3新手在這裏!請這些看一看:在我看來,頁面更新div顯示後jquery後無需重新加載頁面mvc3
,我有有:
<div id = "AccounStatusDiv" class="display-field">
@Html.DisplayFor(m => m.AccountStatus)
<input id="btnBool" type="button" class="btnGrid ActStatBtn" value="@(Model.AccountStatus ? "Deactivate" : "Activate")" onclick="ChangeStatus()"/>
</div>
和腳本:
<script type="text/javascript">
function ChangeStatus() {
$.post('@Url.Action("SetAccountStatus", "User")',
{ UserName: "@(Model.UserName)",
accountStatus: "@(Model.AccountStatus)" });
// change the display of the AccounStatusDiv elements, or maybe just reload the div element if possible. is it?
}
</script>
,而在我的顯示模板,我有有:
<div id = "AccountStatusDiv" style="display:inline-block;">
<img src="@Html.Custom().ResolveImage((bool)Model ? imgPositive : imgNegative)" alt="@Model" />
<label> @ResourceManager.Localize(resource, display)</label>
</div>
在控制器中:
public ActionResult SetAccountStatus(string userName, bool accountStatus)
{
SecurityManager.GetMembershipProvider().SetStatus(userName, !accountStatus);
return AjaxResult.JsonRedirect("/User/ViewUser?username=" + userName);
}
結果僅在我重新加載頁面後才顯示。 我想在不重新加載整個頁面的情況下單擊btnBool
後立即顯示更新的img
,label
和btnBool
元素。在這種情況下最好的方法是什麼? 請發表您的代碼建議,這對我來說是一個很大的幫助! 在此先感謝!
你會告訴我代碼是怎麼樣的嗎? – ideAvi 2012-03-19 03:22:08
你可以看到這個演示http://jsfiddle.net/viyancs/qThnX/5/我用'JSONP'實現了 – viyancs 2012-03-19 03:38:06
我演示的網址是web服務,我使用'$ .ajax()解析數據。 ',你可以看到,如果你點擊按鈕數據將被顯示,則不會刷新或加載頁面。這項技術是客戶端 - 服務器通信 – viyancs 2012-03-19 03:41:24