Я новичок в MVC3 и Razor.
У меня есть "баннер внимания" на главной странице в виде частичного просмотра, который я хочу "подтвердить", щелкнув ссылку, чтобы закрыть баннер (без перезагрузки страницы).Я считаю, что мне нужно использовать jQuery и вызов Ajax, но я просто не могу найти правильную комбинацию.
Вот часть моего _Layout.cshtml:
<section id="main">
<span id="attentionBar">@{ Html.RenderPartial("_AttentionBarPartial"); }</span>
@RenderBody()
</section>
Thisмой частичный вид (просто использую Session в качестве ярлыка, чтобы заставить его работать).Я не уверен, что использовать в качестве «ссылки» для перезагрузки представления:
@{ 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>
}
Вот мой контроллер Home.Опять же, я не уверен, что код является правильным, но по существу я устраню условие, которое показывает баннер внимания.
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");
}
}