0

モーダル JQuery

<script type="text/javascript">
    $(document).ready(function () {
        $('#submit').click(function (e) {
            var locked = '@ViewBag.Locked';
            if (locked) {
                e.preventDefault();
                $('#accountLocked').reveal();
            }
        });
    });
</script>

ポップアップ部

<div id="accountLocked" class="reveal-modal">
        @using (Html.BeginForm("EmailHelpDesk", "Account", FormMethod.Post))
        {
            <h1>Account Locked</h1>
            <p>Please provide your email address and you'll be contacted shortly.</p><br/>
            <input type="email" id="email" name="email"/>
            <input type="submit" id="submitEmail" name="submit"/>
        }
    </div>

AccountController 内の EmailHelpDesk ActionResult

[HttpPost]
    [AllowAnonymous]
    public ActionResult EmailHelpDesk(string email)
    {
        var Email = email;
        return RedirectToAction("Create", "User");
    }

アクションでコードが壊れず、その理由がわかりません。私は何か間違ったことをしていますか?

モーダルがポップアップしますが、EmailHelpDesk メソッドは実行されません。送信すると、モーダルが消えて何も起こりません。

4

2 に答える 2

0

あなたのラインvar locked = '@ViewBag.Locked';が悪いと思います。あなたがしていること(値がfalseであると仮定して)は、次のように書いています:

var locked = 'false';

文字列であることに注意してください。文字列"false"は実際には真実です。次のように変更した場合:

var locked = @ViewBag.Locked;

次に、次のようにレンダリングされます。

var locked = false;

それから私はそれがうまくいくことを期待します。

于 2013-07-26T15:27:13.240 に答える