0

MVC 4 に jqueryuihelpers (http://jqueryuihelpers.apphb.com/Docmo/Dialog) を使用しています。次のコードはドキュメント ページからのものです。

<p>@Html.JQueryUI().Button("Click me!", new { id = "triggerButton" })</p>

@using (Html.JQueryUI().Begin(new Dialog().AutoOpen(false)
   .TriggerClick("#triggerButton")))
{
    <p>This dialog is opened with a button.</p>
    <p>Please click the X at the top right corner to close it.</p>
}

上記の例では、TriggerClick のセレクターは 1 つのボタンのみを対象としており、正常に動作します。

ボタンが複数ある場合は、クラスセレクター「.button」を使用したいと思います。

@using (Html.JQueryUI().Begin(new Dialog().AutoOpen(false)
   .TriggerClick(".button")))
{
    <p>This dialog is opened with a button.</p>
    <p>Please click the X at the top right corner to close it.</p>
}

この場合、ダイアログ ボックスを開くクリック イベントをトリガーするボタンを特定するにはどうすればよいでしょうか。

4

1 に答える 1

0

同じページのショッピングカートの例に示されている回避策があります。

<div id="cart">
@{Html.RenderPartial("ShoppingCart");}
</div>

@using (Html.JQueryUI().Begin(new Dialog().Title("Remove").AutoOpen(false)
.ConfirmAjax(".removeLink", "Yes", "No",
new AjaxSettings() { Method = HttpVerbs.Post, Success = "removeSuccess", Error = "removeError" })))
{
    <p>Remove the item from your shopping cart?</p>   
}

クラスセレクターを使用してサーバーにポストバックし、ページの一部のコンテンツを更新しました。

それは完全に私が望むものではありません。しかし、それは代替手段として機能します。

于 2012-10-18T17:36:44.460 に答える