У меня есть следующее, и я получаю 404 на submit, но от скрипача я получаю 500 ошибок о том, что у вас нет антифригиоценок. Любые мысли, что может быть неправильным?действие для ajax.beginform метать 404 из приложения mvc не из fiddler
ShareController.cs код
// creates the form
[HttpPost]
public ActionResult ShareVideoFormEmail(string vguid)
{
var shareModel = GetShareVideoFormEmailModel(vguid);
return PartialView("ShareVideoFormEmail", shareModel);
}
// handler function
[HttpPost]
[ValidateHoneyPot]
[ValidateAntiForgeryToken]
public ActionResult ProcessShareVideoFormEmail(ShareVideoEmailModel model)
{
//do stuff
return PartialView("Result");
}
ShareVideoFormEmail.cshtml
@model Gcc.GctWebsite.Areas.Forms.Models.Share.ShareVideoEmailModel
@using (Ajax.BeginForm("ProcessShareVideoFormEmail","share",null ,new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "shareVideoFormWithMyFriends",
OnBegin = "onBeginShareEmail", @* show ajaxspinner *@
OnComplete = "onCompleteShareEmail", @* hide ajaxspinner *@
OnSuccess = "onSuccessShareEmail" @* hide ajaxspinner *@
}, new { id = "shareVideoEmailModelForm" }))
{
<div class="modal-header">
<div class="modal-header-title">Share the video "@ViewBag.VideoTitle" with my friends</div>
</div>
<div class="modal-body">
<div id ="shareVideoFormWithMyFriends" class="share-form-email">
@Html.AntiForgeryToken()
@Html.HoneyPot()
@Html.HiddenFor(x => x.UpdateTargetId)
@Html.HiddenFor(x => x.OgMetaTitle)
@Html.HiddenFor(x => x.OgMetaDescription)
@Html.HiddenFor(x => x.OgMetaDefaultImage)
@Html.HiddenFor(x => x.OgMetaImage)
@Html.HiddenFor(x => x.Brand)
@Html.HiddenFor(x => x.VGuid)
@Html.HiddenFor(x => x.TripCode)
@Html.HiddenFor(x => x.EmailSubject)
<!-- big section of input fields for model properties -->
<div class="form-field">
<span class="req-lbl">* = Required</span>
</div>
<div class="form-field form-submit">
<input class="btn btn-main-theme btn-narrow btn-submit-form" value="Send Email" type="submit">
<input type="reset" class="btn btn-grey btn-reset cancel-share-Email" value="Cancel">
</div>
<script>
$(document).ready(function (e) {
$('.required-input').after("<span class=\"rqdfield\">*</span>");
loadJqueryValidationManually("#shareVideoEmailModelForm");
});
</script>
Почему 'ShareVideoFormEmail (строка vguid)' украшен атрибутом '[HttpPost]', если это действие получает только информацию и не изменяет состояние вашего сайта? – Balde
Вам не хватает тесного фигурного скобка '@ using'? – Balde