我是MVC3和Razor的新手。用Razor確認並重新加載PartialView
我在母版頁上有一個「注意橫幅」,作爲部分視圖,我想通過單擊鏈接關閉橫幅(不重新加載頁面)點擊「確認」。我相信我需要使用jQuery和Ajax調用,但我似乎無法找到合適的組合。
這裏是我的_Layout.cshtml的一部分:
<section id="main">
<span id="attentionBar">@{ Html.RenderPartial("_AttentionBarPartial"); }</span>
@RenderBody()
</section>
這是我的局部視圖(只使用會話作爲快捷方式現在得到它的工作)。我不知道用什麼來作爲「鏈接」來重新加載視圖:
@{ this.Layout = null;}
@if(! String.IsNullOrWhiteSpace(@Session["Attention"].ToString()))
{
<div class="attentionPanel">
<span class="attentionLabel">Attention</span>
@Session["Attention"].ToString()
<span class="attentionLabel">
@* WHAT DO I PUT HERE *@
@Ajax.ActionLink("X", "AcknowledgeAttentionBar", "Home", new AjaxOptions{ UpdateTargetId="attentionPanel", InsertionMode=InsertionMode.Replace })
</span>
</div>
}
這是我的家庭控制器。再次,我不確定代碼是否正確,但基本上我會清除顯示注意橫幅的條件。
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Home Controller Updated At " + DateTime.Now.ToLongDateString()
+ " " + DateTime.Now.ToLongTimeString();
return View();
}
public PartialViewResult AcknowledgeAttentionBar()
{
Session["Attention"] = String.Empty;
return PartialView("_AttentionBarPartial");
}
}
我還沒有看到您的設計。但是,注意橫幅很少是一個好的設計組件。 – 2012-03-18 03:36:47