-1

現在のオブジェクトに子がある場合にユーザーにプロンプ​​トを表示するアクションがあります。ユーザーは、子も更新するかどうかを選択できる必要があります。ユーザーがこのプロンプトに応答するのを処理するにはどうすればよいですか?

<tr>
            <td><button type="submit" class="button">Save</button></td>
            @if (Model.OrganizationHasChildren)
            {
                <td>@Html.ActionLink("Save", "AleMasterData", null, new {@class = "button",onclick = "return confirm('Do you want to apply the ALE Indicator change to the sub-clients also?');" })</td>
            }
            else
            {
                <td>@Html.ActionLink("Save", "AleMasterData", null, new {@class = "button"})</td>
            }
        </tr>
4

1 に答える 1

1

最も簡単なオプションは、追加のブール値を使用して ViewModel を作成することです。これは、マークアップで次のように表されます。

@Html.HiddenFor(model => model.ChoiceBool) 

そして、少しのJqueryで更新します

    function submitForm() {
        var l_choice = confirm('Do you want to apply the ALE Indicator change to the sub-clients also?');
        $('#ChoiceBool').val(l_choice);              
        $('#SaveForm').submit();
    }

もちろんと

        @if (Model.OrganizationHasChildren)
        {
            <td>@Html.ActionLink("Save", "AleMasterData", null, new {@class = "button", onclick = "submitForm();" })</td>
        }
        else
        {
            <td>@Html.ActionLink("Save", "AleMasterData", null, new {@class = "button"})</td>
        }

そして、アクションサーバー側でそれを取得できるはずです

または、同じ JS メソッドで選択値を使用して URL を更新し、そのようなプロトタイプを使用してサーバー側で取得することもできます。

 public ActionResult Save(bool choice, ViewModel viewModel)

しかし、それは同じ結果に対してより複雑です.2番目のオプションを試してみたい場合は、もう少し調査します.

于 2013-09-09T15:33:57.353 に答える