2012-03-27 10 views
0

ボタンがあります。最初のクリック後、「ボタンが押されました!」と表示されます。確認メッセージ。もう一度ボタンを押すと、確認が2回表示されます。 3回押すと4回表示されます。実際に私は幾何学的な進展を得ています。助けてください。MVC3各クリック後に幾何学的な進行として確認メッセージが表示されています

View isです。

@{ 
    ViewBag.Title = "Home"; 
    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> 
} 
<div id="buttonPressed"> 
    @Ajax.ActionLink("Button", "Index", new AjaxOptions { Confirm = "Button pressed!", UpdateTargetId = "buttonPressed" }) 
</div> 

コントローラです。

public class HomeController : Controller 
    { 
     public ActionResult Index() 
     { 
      return View(); 
     } 
    } 
+0

実際、それは線形の進行のように聞こえる。ジオメトリは1,2,4,8、... –

+0

です。問題は、ボタンを含む 'div'を更新していることです。 – Diego

+0

ページ上にラベルがあり、クリックするたびにラベル値が更新されています。また、divにアクションリンクが含まれていないと、ラベルが2回表示されます。それで私はdivにアクションリンクを含んでいるのです。 –

答えて

0

投稿が戻ってきたら、ボタン自体を含むbuttonPressed divの内容を置き換えます。すばらしいことではありません。

さらに、もともとビューを表示していたIndexメソッドをコールバックするのは適切ではありません。それはdivのhtmlとともにページを再レンダリングし、すべてのマスターページのものを含めてビュー全体を再レンダリングします。これは何度も何度も何度も繰り返されます。

コントローラ内の別のアクションメソッドにアクションコールバックを変更してから、一部のhtmlや文字列などのpartialViewを返す必要があります。

関連する問題