次の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
}