2016-05-07 4 views
0

In Controller:Wie spezifiziert man die Aufgabe einer Eingabe vom Eingabetyp?

[HttpPost] 
public ActionResult UnAssign() 
{ 
    ViewBag.Message = courseManager.Updated(); 
    return View(); 
} 

In Aussicht:

<form method="post">   
     <input id="btnSubmit" type="submit" value="UnAssign Courses" /> 
    </form> 
    @section scripts 
    { 
     <script> 
      $("#btnSubmit").click(function(event) { 

       event.preventDefault(); 

      }); 
      $("#btnSubmit").click(function(event) { 

       var confirmationmessage = "Are you sure you want to delete this?"; 

       if (! confirm(confirmationmessage)) { 


        event.preventDefault(); 

       } else { 



       } 
      }); 
     </script> 
    } 

Mit diesem Kodex ich eine meiner Datenbankspalte Wert auf 0 in Update-Methode aktualisieren möchten habe ich bereits erstellt eine Abfrage zusammen mit gemacht eine Verbindung mit der Datenbank. aber in Sicht, wenn ich auf "submit" drücke, tut es nichts.Wollen Sie wissen, wie kann ich eine bestimmte Aktionsmethode aufrufen und diese Aufgabe ausführen, ohne ein Modell oder einen Wert zu übergeben, der aus der Ansicht kommt?

+0

Sie können Ajax Post verwenden. – Berkay

+0

Das Attribut 'action' des ' 'bestimmt, welche Controller-Aktion Sie treffen. Sie haben die normale Formularübergabe mit 'event.preventDefault()' deaktiviert. Ihr Code wird also nichts mehr tun, wenn Sie auf die Schaltfläche klicken. – Jasen

+0

Dieser Teil geändert .. aber immer noch meine Einreichung geht nicht auf meine Aktion. ich habe versucht, form action calling, aber es tut nichts. –

Antwort

0

Sie müssen Ihren Code ein bisschen Sie die Negation Zeichen verwenden konnte nicht zwei .click Handler

$("#btnSubmit").click(function(event) { 
      event.preventDefault(); 
      var confirmationmessage = "Are you sure you want to delete this?"; 

      if (! confirm(confirmationmessage)) { 

       //You do not need these here. Get rid of it 
       //event.preventDefault(); 

      } else { 

       //here submit your form 
       $('form').first().submit(); 

      } 
     }); 

Um aufzuräumen nur eine if Aussage und entfernen.

if (confirm(confirmationmessage)) { 

       $('form').first().submit(); 

      } 
    //jquery code does nothing after this. You already used event.preventDefault(); so the form will not be submitted 

Ich würde Ihnen auch raten bis zu schauen, wie Html.BeginForm und Ajax.BeginForm zu verwenden, da Sie MVC verwenden, könnte genauso gut das MVC-Stack verwenden.

http://www.c-sharpcorner.com/UploadFile/3d39b4/working-with-html-beginform-and-ajax-beginform-in-mvc-3/

Verwandte Themen