2011-12-07 12 views
8

Mam dziwny problem podczas próby użycia metody Ajax.BeginForm z ASP.NET MVC3. Formularz renderuje się poprawnie na stronie z poprawnym atrybutem działania. Jednak po przesłaniu formularza zdarzenie "OnFailure" zwraca błąd "Nie znaleziono" 404.AJAX.BeginForm PostURL jest uszkodzony

Jeśli oglądam żądanie z skrzypkiem, widzę, że URL postu to "/ [Object NodeList]", co jest oczywiście nieprawidłowe.

Mój kod Razor jest następujący:

@using (Ajax.BeginForm("Save", "Items", new AjaxOptions { UpdateTargetId = "itemContainer", InsertionMode = InsertionMode.Replace, OnFailure = "onFailure"})) 
{ 
    <div style="position:absolute; bottom:20px; left:200px;"> 
     <button type="submit" id="Save" name="action" value="Save">Save</button> 
     <button type="submit" id="Cancel" name="action" value="Cancel">Cancel</button> 
    </div> 
} 
+0

Należy wspomnieć, że używam dyskretnej biblioteki ajax, która przyczyniła się do problemu. Nie jestem pewien, czy jest to problem z "natrętnym" smakiem MVC ajax. – jbrunken

Odpowiedz

11

Problem polegał na użyciu "akcji" dla atrybutu name na przyciskach submit. Jak tylko zmieniłem atrybut nazwy na inną wartość, wszystko zaczęło działać idealnie.

Zgaduję, że istnieje selektor jQuery w dyskretnej bibliotece ajax, który został zdezorientowany.

+3

Dziękujemy! Waliłem głową o ten sam problem przez dłuższą chwilę. – Japple

+0

yessss mate !! To było to! – wodzu

0

Czy masz dyskretne JavaScript lub wyłączyć w swojej web.config? Zgaduję, że tutaj biblioteka ms Ajax działa głupio, więc włącz dyskretną, więc otrzymujemy wsparcie jquery.

Do czego służy akcja formularza? Opublikuj swój formularz HTML, jeśli możesz.

+1

Znalazłem poprawkę. Miało to związek z atrybutem name na przycisku submit. – jbrunken

+0

nazwa przycisku przesyłania zmieniła również Twój opublikowany URL? to brzmi tak dziwnie! –

+0

Myślę, że zgadzam się z @AdamTuliper, zmiana nazwy przycisku nie powinna zmienić adresu URL, do którego publikowałeś. Jeśli zmienisz go ponownie na coś, czego wcześniej nie używałeś, czy pęknie? – Eonasdan

Powiązane problemy