Summernote et la soumission d'un formulaire en MVC c#
Je suis en utilisant le summernote plugin pour la zone de texte:
http://summernote.org/#/getting-started#basic-api
C'est la forme que j'ai à l'aide de summmernote:
<div class="modal-body" style="max-height: 600px">
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset class="form-horizontal">
<div id="textForLabelLanguage"></div>
<button type="submit" class="btn btn-primary">Save changes</button>
@Html.ActionLink("Cancel", "Index", null, new { @class = "btn " })
</fieldset>
}
</div>
<script type="text/javascript">
$(document).ready(function () {
$('#textForLabelLanguage').summernote();
});
</script>
Maintenant, Dans mon contrôleur, c'est le code que j'ai:
public ActionResult Create(UserInfo newInfo , [Bind(Prefix = "textForLabelLanguage")] string textForLabelLanguage)
{
//logic here
}
Maintenant, le problème est que textForLabelLanguage
param est toujours null.
Cela se produit parce que je dois passer $('#textForLabelLanguage').code();
en MVC lors de l'envoi du formulaire, mais je n'ai aucune idée de comment faire cela!
Comment puis-je résoudre mon problème?
où est votre élément de formulaire qui auront le html?
C'est juste avant le javascript. C'est le HTML en utilisant mvc création de formulaires.
Je veux dire le champ de saisie?
id="textForLabelLanguage"></div>`. Ce qu'il est. Et puis la JS fait le reste. C'est dans la summernote documentation 😀
Ce n'est pas un champ de saisie
C'est juste avant le javascript. C'est le HTML en utilisant mvc création de formulaires.
Je veux dire le champ de saisie?
id="textForLabelLanguage"></div>`. Ce qu'il est. Et puis la JS fait le reste. C'est dans la summernote documentation 😀
Ce n'est pas un champ de saisie
OriginalL'auteur Flame_Phoenix | 2015-04-09
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé ma solution pour le problème. C'est de cette façon que je fais le contrôleur obtenir l'information correcte:
En gros, si j'utilise un textarea avec un nom au lieu d'une entrée ou d'autre chose, ça marche!!!
Cependant, et être averti, même si cette solution fonctionne, je puis faire une erreur dans le contrôleur de dire:
Potentiellement dangereuse Demande.Formulaire de valeur a été détectée par le client
Cela se produit parce que je suis en permettant HTML. Mais c'est un problème pour une autre question!
[ValidateInput(false)]
permet HTML de passé à l'action d'un contrôleurMieux encore: AllowHtml sur le droit de l'attribut
OriginalL'auteur Flame_Phoenix
S'il vous plaît, utilisez
[AllowHTML]
Il y a un bon article sur MSDN
La Validation de la demande dans ASP.NET
"Désactiver la demande de validation d'une propriété spécifique, marque de la définition de propriété avec la AllowHtml attribut:"
OriginalL'auteur Marlon Dias
similaire à ce qui a été posté plus tôt, vous pouvez utiliser le helper HTML
au lieu de
<textarea>
OriginalL'auteur JRave