【发布时间】:2011-03-29 20:08:00
【问题描述】:
这是我需要做的:
我有一个局部视图 (PV):
@if (Convert.ToBoolean(ViewData["IsLogged"].ToString()))
{
<div id="onlineStatus">
ONLINE >>
@Html.ActionLink("Take a Break", "GoOffline", "Account")
</div>
}
else
{
<div id="offlineStatus">
IN A BREAK >>
@Html.ActionLink("Go Online", "GoOnline", "Account")
</div>
}
我把这个 PV 放在 *_layout.cshtml* 上,所以每当我点击 ActionLink 时,页面应该保持不变并且 PV 应该只以异步方式重绘自身。
我正在阅读有关使用 Ajax.BeginForm 的信息,它似乎需要一个 但我的问题是:
Q1:我应该把 放在 Ajax.BeginForm 里面吗?
@using (Ajax.BeginForm(new AjaxOptions {
UpdateTargetId="divStatus",
InsertionMode=InsertionMode.Replace })) {
<div id="divStatus">
@if (Convert.ToBoolean(ViewData["IsLogged"].ToString()))
{
<div id="onlineStatus">
ONLINE >>
@Html.ActionLink("Take a Break", "GoOffline", "Account")
</div>
}
else
{
<div id="offlineStatus">
IN A BREAK >>
@Html.ActionLink("Go Online", "GoOnline", "Account")
</div>
}
</div>
}
CONTROLLER ...返回自己?
public ActionResult GoOffline()
{
GoOffline();
ViewData["IsLogged"] = "False";
return PartialView("_OnlineStatusCtrl");
}
问题:
整个页面重绘为 PV,所以我猜它不是在
问题是我如何调用 Ajax.Beginform 吗?
是我将 放在 Ajax.BeginForm 中的问题吗?
问题是我应该把 Ajax.BeginForm 放在 _layout.cshtml 上吗?
...只是我还是不懂MVC??
:--)
【问题讨论】:
标签: jquery asp.net-mvc-3 asp.net-ajax