2017-05-19 5 views
0

私はMVCのスターターですので、私はできないいくつかの点があります。 Summernote Editorはブログを書くために使用され、Ajaxは投稿に使用されます。このエディタの中には、いくつかの文字が書かれていますが、smmernoteエディタや他の文字列データ内のhtmlデータはajaxでポストされなければなりませんが、コントローラにデータを送ることができませんでした。mvcで、summernoteエディターを使用して、私はコンテンツ文字列とhtmlをコントローラーに送信したいです。

HTMLセクション

 <div class="panel-body"> 
      <form class="form-horizontal" role="form" id="frmCreateBlogEntry"> 
       <div class="form-group"> 
        <label for="txtTitle" class="col-sm-2 control-label">Title</label> 
        <div class="col-sm-10"> 
         <input type="text" class="form-control" id="txtTitle" placeholder="Enter Title" maxlength="250" required> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label for="txtSubtitle" class="col-sm-2 control-label">subtitle</label> 
        <div class="col-sm-10"> 
         <textarea class="form-control" name="txtSubtitle" id="txtSubtitle" placeholder="enter subtitle" maxlength="250" required></textarea> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label for="smrntContent" class="col-sm-2 control-label">Blog Entry</label> 
        <div class="col-sm-10"> 
         <div id="smrntContent" class="form-control summernote" name="smrntContent"></div> 
        </div> 
       </div>      
       <div class="btn-toolbar"> 
        <button id="btnPreview" type="button" class="btn btn-yellow pull-right">preview</button> 
        <button id="btnSave" type="button" class="btn btn-primary pull-right">save</button> 
       </div> 
      </form> 
     </div> 

スクリプトセクション

$(document).ready(function() {   
     $("#smrntContent").summernote({ 
       "height": 200 
     }); 
     $("#btnSave").click(function() { 
      var markupStr = $("#smrntContent").summernote('code'); 
      var createBlogEntry = 
        { 
         Title: $("#txtTitle").val(), 
         Subtitle: $("#txtTitle").val(), 
         Content: markupStr 
        }; 
      $.ajax({ 
       url: "/Yayin/CreateNewBlogEntry", 
       type: "post", 
       datatype: "json", 
       data: createBlogEntry, 
       success: function (response) { 
        //Başarılı bir şekilde kaydedildi ise 
        if (response.Success) { 
        }      
        else {        
        } 
       },      
       error: function (xhr, status) {       
       } 
      }); 
     }); 
    }); 

コントローラーセクション

 public JsonResult CreateNewBlogEntry(BlogEntry createBlogEntry) 
    { 
     try 
     {    
      createBlogEntry.CreatedBy = (SessionManager.ActiveAdmin != null) ? SessionManager.ActiveAdmin.DisplayName : SessionManager.ActiveUser.DisplayName; 
      createBlogEntry.IsActive = false; 

      _blogEntryRepo.Insert(createBlogEntry); 

      _uow.Save(); 

      return Json(new { Success = true, Message = ".." }); 
     } 
     catch (Exception ex) 
     { 
      return Json(new { Success = false, Message = ".." + ex.Message }); 
     } 
    } 

私はAjaxのセクションで(データ型:)のために何かを書くかもしれないかしら

答えて

0

もし私がナルはこれを自分で解決しました。 AJAXセクションの前にあるコントローラにデータを送る前に、私はencodeURIComponent関数を使用しました。

var markupStr = encodeURIComponent($("#smrntContent").summernote('code')); 

Reference

関連する問題