2017-08-15 6 views
0

J'ai un petit problème avec l'action de bouton Soumettre. Je sais que la question n'est pas nouvelle et j'ai vu beaucoup de réponses à ce genre de questions, mais je n'arrive toujours pas à comprendre ce qui ne va pas.Action du bouton Envoyer de MVC

Vue:

<form asp-action="TableSettings"> 

    <p>Please, select rows count for tabe in tab "Orders"</p> 
    @Html.DropDownListFor(x => x.SelectedId, Model.Rows) 

    <input id="Submit" type="submit" value="Submit" name="Submit" /> 

    </form> 

Controller:

[HttpPost] 
    public ActionResult Submit(string Submit, MyModel model) 
    { 
     Settings settings = _context.Settings.FirstOrDefault(); 

     int id = model.SelectedId; 
     settings.Value = id.ToString(); 
     _context.SaveChanges(); 

     return View(); 
    } 

Après avoir cliqué sur le bouton rien ne change. Juste une liste déroulante réinitialisée. C'est tout.

P.S. S'il vous plaît, ne me bat pas))

+1

Vous avez 'asp action =" TableSettings' qui affiche de nouveau à un 'tablesettings()' méthode. (La méthode que vous avez montré est nommé 'Submit()') ' –

+1

asp-action = "Soumettre" 'est probablement ce que vous voulez que la méthode d'action cible reçoive la requête POST –

+0

Vous devriez mettre un point d'arrêt dans votre contrôleur, et si ce n'est pas le cas, il devient évident que le problème est le mauvaise action Apprenez à déboguer et vous obtiendrez loin – musefan

Répondre

0

Donc, le problème était dans le nom d'asp-action faux. Merci tout le monde. La prochaine fois je vais vérifier tout plus attentivement.

Devrait être

asp-action="Submit"