MVC 4 \ soumettre le formulaire bouton ne fonctionne pas lorsque la création est à l'aide de la disposition principale
ok, après une longue enquête , il semble que lorsque j'ai une vue qui a été créé pour travailler avec les _layout.cshtml - le bouton de soumission du formulaire, j'ai ne fonctionne pas (aucune action n'est retourné au contrôleur).
Seulement quand j'ai créé une vue et décoché "Utiliser une mise en page ou une page maître" - le bouton a travaillé!
Cela semble extrêmement floue, comment puis-je avoir à la fois avec le général _layout.cshtml, à côté d'un de travail bouton de formulaire?
ci-dessous:
Essayez de mettre en œuvre une forme de MVC4 (+Rasoir)
Contrôleur (qui devrait obtenir le poste d'action):
public class GeneralController {
[HttpPost]
public ActionResult SearchResults(SearchParamsModel searchParams)
{
//doin some stuff here
return View("SearchResultsView");
}
}
Vue (.cshtml)
@model Models.SearchParamsModel
@using (Html.BeginForm("SearchResults", "General", FormMethod.Post))
{
<section class="form-field">
<input type="text" name="Property1" id="Property1" class="field field139 autocomplete-init-no-img" />
<label for="Property1">value1</label>
<form action="" method="post" class="clearfix">
<input
type="submit"
value="some value"
class="submit btn blue-btn special-submit" />
</form>
</section>
}
Modèle
public class SearchParamsModel
{
public string Property1{ get; set; }
}
Mettre votre code pour voir ce qui est mal
OriginalL'auteur user1025852 | 2013-10-08
Vous devez vous connecter pour publier un commentaire.
Vous devriez retirer votre intérieur balise de formulaire,
va générer une balise de formulaire pour vous.
Aussi, vous devez utiliser le code html helpers, afin de générer les éléments de formulaire:
Pourrait être une possible liaison de modèle, à cause de cela.
Le bouton soumettre appartient à votre imbriquée à l'intérieur du formulaire, il n'y a pas de modèle qui est présenté ici.
OriginalL'auteur Lars Anundskås
J'ai eu le même problème, mais pas le même problème que vous avez décrit ci-dessus, résolu de cette façon:
Mon "MVC 4 Mise en page de la Page de" a "forme" de la balise à l'intérieur de document de mise en page. De l'autre côté de mon point de Vue a été connecté à la page de mise en page (voir page avait aussi "à l'aide de Html (.BeginForm()){...}")
Afin de, retrait "de la forme" balise à partir de la mise en page doit faire la chose", parce que l'aide (Html.BeginForm()){...}")" à partir de l'affichage de la page n'est pas imbriqué.
OriginalL'auteur Kristian Dekarin
Vous déclarez sur le bouton soumettre imbriqués
Form
et l'entréeProperty1
n'est pas un descendant de ce formulaire. Déplacer l'élément d'entrée dans le sous-formulaire ou supprimer le imbriqué au totalEdit: votre imbriquée élément de formulaire n'a pas également spécifier l'action, donc si
General/SearchResults
n'est pas la valeur par défaut de ce point de vue, vous n'obtiendrez pas les résultats que vous attendiezOriginalL'auteur Moho