Ajax.BeginForm mich verrückt

ASP.NET MVC3

Habe ich eine teilweise Ansicht, die zunächst gerendert, die sich innerhalb eines div. Im folgenden ist die partielle code:

@model Venue.Models.Validation.CustomerRequestModel

<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

<script type="text/javascript" src="/Scripts/MicrosoftAjax.js"></script>
<script type="text/javascript" src="/Scripts/MicrosoftMvcAjax.js"></script>
<script type="text/javascript" src="/Scripts/MicrosoftMvcValidation.js"></script>

@{ Html.RenderPartial("Message"); }
@Html.ValidationSummary()

@using (Ajax.BeginForm(
            "Customer",
            "Service",
            null,
            new AjaxOptions()
            {
                HttpMethod = "post",
                InsertionMode = InsertionMode.Replace,
                LoadingElementDuration = 100,
                LoadingElementId = "loading-customer",
                OnBegin = "hideSubmitButton",
                OnSuccess = "hideForm",
                OnComplete = "showSubmitButton",
                OnFailure = "showErrorMessage",
                UpdateTargetId = "formclientes",
            },
            new
            {
                id = "customer-form"
            }))
{
    //Fields are all type="text" although some are numbers.
    <input type="text" name="Address" class="clientes_form" />
}

Aktion:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Customer(CustomerRequestModel customer)
{
  //...
}

In das Direktfenster, das ist, was ich bekomme:

this.Request.IsAjaxRequest()
false

Warum?!

Hi Fabio... ich, die mit Ihrem code, aber in der Aktion ich habe versucht, ändern Sie die customer-Eigenschaft, wie : der Kunde.Name = "NewName" und return View(Kunden), aber die UI nicht aktualisiert ... weißt du, warum?
In diesem Fall habe ich Ajax.BeginForm anstelle von Html.BeginForm, weil ich wollte, um wieder eine Teilansicht (so dass nur ein Teil der Seite aktualisiert werden sollen). Wenn Ihr Ziel ist das gleiche, sollten Sie wieder wie diese: die Rückkehr.PartialView("PartialViewName", Kunde);. Wenn dies nicht Ihre Frage beantworten, post eine neue und versorgen mich mit einem link darauf zugreifen.

InformationsquelleAutor Fabio Milheiro | 2010-12-26

Schreibe einen Kommentar