2012-03-18 10 views
0

と認めるとリロードPartialView。私はMVC3とカミソリに新しいですレイザー

私は(ページをリロードせず)のバナーを閉じるには、リンクをクリックして「承認」したい部分図として、マスターページの「注意バナー」を持っています。私は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"); 
    } 
} 
+0

私はあなたのデザインを見ていません。しかし、注目バナーはめったに良いデザイン要素ではありません。 –

答えて

1

2物事:

  1. リンクは正常にリダイレクトするのではなく、クリックされたときに、あなたが仕事やAJAX要求を送信するためにAjax.ActionLinkヘルパーためのあなたのページへのjquery.unobtrusive-ajax.jsスクリプトが含まれていることを確認します:あなたのAjaxOptionsあなたがUpdateTargetId="attentionPanel"を指定したが、何の要素iはありませんで

    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> 
    
  2. あなたのマークアップはid="attentionPanel"です。 class="attentionPanel"のdivがありますが、それは同じではありません。一方、あなたは<span id="attentionBar">であなたのバナーをラップしているので、あなたはおそらくUpdateTargetId="attentionBar"を意味しました。

+0

ありがとうございました。 #1は私が見逃していた大きなものでしたが、#2は大きな画像と簡単な詳細についてはあまり気にしませんでした。 –

関連する問題