我正在使用summernote插件的文本框:
http://summernote.org/#/getting-started#basic-api
http://summernote.org/#/getting-started#basic-api
这是我使用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>
现在,在我的控制器中,这是我的代码:
public ActionResult Create(UserInfo newInfo,[Bind(Prefix = "textForLabelLanguage")] string textForLabelLanguage) { //logic here }
现在的问题是textForLabelLanguage param始终为null.
这是因为我必须传递$(‘#textForLabelLanguage’).code();提交表单时进入MVC但我不知道该怎么做!
我该如何解决我的问题?
解决方法
我找到了解决问题的方法.这就是我让控制器获取正确信息的方法:
<div class="modal-body" style="max-height: 600px"> @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset class="form-horizontal"> <textarea name="textForLabelLanguage" id="textForLabelLanguage" /> <button type="submit" class="btn btn-primary">Save changes</button> @Html.ActionLink("Cancel",new { @class = "btn " }) </fieldset> } </div> <script type="text/javascript"> $(document).ready(function () { $('#textForLabelLanguage').summernote(); }); </script>
基本上,如果我使用带有名称而不是输入或其他任何东西的textarea,它就可以了!
但是,请注意,即使此解决方案有效,我也会在控制器中收到错误消息:
从客户端检测到潜在危险的Request.Form值
这是因为我允许HTML.但这是另一个问题的问题!