1

次のjQueryを使用して、データを(を使用してgetSubscribeFormData)Razor(chtml)関数にPOSTしようとしていますが、Razor関数からRequest["email"]を実行するとnullになります。データを Razor 関数に POST するにはどうすればよいですか。前もって感謝します

次のように私のjQuery:

/* ---------------------------------------------------------------------- */
/* Newsletter Subscription
/* ---------------------------------------------------------------------- */

if ($().validate) {
    $("#send-newsletter-form").validate();
}

var newsletterForm = $("#newsletter-form");
if (newsletterForm && newsletterForm.length > 0) {
    var newsletterSubscribeButton = newsletterForm.find("#subscribe");
    var newsletterEmailInput = newsletterForm.find("#newsletter");

    newsletterSubscribeButton.bind("click", function () {

        if ($("#newsletter-form").valid()) {
            $("#subscribe").attr('disabled', 'disabled');
            jQuery.ajax({
                type:"POST",
                url:\MacroScripts\Email.cshtml",
                data:getSubscribeFormData(),
                statusCode:{
                    200:function () {
                        $("#newsletter-notification-box-success").css('display', '');
                        newsletterSubscribeButton.removeAttr('disabled', '');
                        resetSubscribeFormData();
                    },
                    500:function () {
                        $("#newsletter-notification-box-error").css('display', '');
                        newsletterSubscribeButton.removeAttr('disabled');
                    }
                }
            });
        }

        function getSubscribeFormData() {
            var data = 'action=subscribe';
            if (newsletterEmailInput && newsletterEmailInput.length > 0) {
                data += '&email=' + newsletterEmailInput.attr('value');
            }
            return data;
        }

        function resetSubscribeFormData() {
            if (newsletterEmailInput && newsletterEmailInput.length > 0) {
                newsletterEmailInput.attr('value', '');
            }
        }

        return false;
    });
}

\MacroScripts\Email.cshtm にある私の Razor スクリプトは次のようになります

@using System.Web.Mvc
@{
    var action = Request["action"] ;// i get null
    var email = Request["email"] ;// i get null
}
4

0 に答える 0