首页 > 技术文章 > xheditor C# mvc模式下使用

wuyike 2015-04-21 10:06 原文

最近用到了这个编辑器挺方便的,但是说不上有多好,还遇到了个兼容性问题(IE89可用,chrome和IE10 post不到action)先记录一下吧!

 

首先下载最新版本的xheditor,解压之后,把这几个文件放到项目相关位置

 

 

引用控件js

 

<script src="../../Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="../../Scripts/Plugins/xheditor/xheditor.js" type="text/javascript"></script>
<script src="../../Scripts/Plugins/xheditor/xheditor_lang/zh-cn.js" type="text/javascript"></script>

 

 

html:

 <textarea id="newsContent" name="newsContent" rows="48" cols="160" style="width: 100%"></textarea>

js:

$(document).ready(function () {

 

  $("#newsContent").xheditor({
  tools: 'full',
  upImgUrl: '/HomeNotice/upload',//这里是controller/action (如果不是mvc模式,则为具体的url)
  upImgExt: "jpg,jpeg,gif,png",
  html5Upload:false

  });

 

});

 

 

c#:

[HttpPost]

public ActionResult upload(System.Web.HttpPostedFileBase fileData)
{

string result = "0";
string folder = "/UploadFiles/upImgs";//这里是文件夹路径,
string errMsg = "";

if (fileData != null)
{
try
{
string fileName = fileData.FileName;
if (fileName.LastIndexOf("\\") > 0)
{
fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1);
}
string currentTime = DateTime.Now.ToString("yyyyMMddhhmmss");
Random r = new Random(DateTime.Now.Millisecond);
int rndKey = r.Next(100000, 999999);

result = Path.GetFileName(fileName);//获得文件名,返回进行显示
string saveFileName = string.Format("{0}_{1}", currentTime + rndKey.ToString(), fileName);

string saveFolder = Request.MapPath(string.Format("~{0}", folder));
if (!Directory.Exists(saveFolder))
Directory.CreateDirectory(saveFolder);

fileData.SaveAs(string.Format("{0}\\{1}", saveFolder, saveFileName));

result = string.Format("{0}/{1}", folder, saveFileName);

}
catch (Exception ex) { errMsg = ex.Message; }
}

var data = new { err = errMsg, msg = result };

return this.Content(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(data));//这里不能用Json方法


}

 

推荐阅读