asp.net mvc5 使用百度ueditor 本编辑器完整示例,三在IIS中多个应用程序使用多个ueditor对象

最近做了一个项目,要求同一类型的多个专业应用程序(网站),但是每个应用程序都需要调用各自当中的ueditor。

步骤:

一、在vs2013中设置每个专业的asp.net mvc 应用程序.

1、配置根目录下的web.config 下的数据库连接字符串。(使用的是数据库文件的访问方式,这种方式的好处是,尽管每个应用程序使用的是相同的连接字符串名称,但是数据库保存在每个应用程序的app-data文件夹下,不会引发冲突 。)

<connectionStrings>

<add name="DefaultConnection" connectionString="Data Source=(local);AttachDbFilename=|DataDirectory|\aspnet-MajorConstruction-shukongjishu.mdf;Initial Catalog=aspnet-MajorConstruction-shukongjishu;User providerName="System.Data.SqlClient"/>

<add name="MajorContext" connectionString="Data Source=(local);AttachDbFilename=|DataDirectory|\MajorConstruction-shukongjishu.mdf;Initial Catalog=MajorConstruction-shukongjishu;User providerName="System.Data.SqlClient"/>

</connectionStrings>

2、配置 ueditor所在目录下的ueditor.config.js 路径 window.UEDITOR_HOME_URL = "/shukongjishu/Content/ueditor/";

配置 ueditor所在目录下的 .net文件夹下的 config.json 文件,给图片、文件、视频等设置 访问前缀, 比如图像访问前缀:"imageUrlPrefix": "/shukongjishu/Content/ueditor/net/", /* 图片访问路径前缀 */

3、在需要访问ueditor的视图中设置路径,包括创建、编辑视图,和访问视频的视图。通过查看网页的源代码,我们可以看出,如果是使用的.net里面的 “~”目录符号,它引用的是该应用程序(虚拟目录)的根文件夹,而不是整个应用程序的文件夹下。

而使用JS的方式引用 js,则"/"根目录表示的是 整个网站的根目录。

所有创建和编辑视图中:

@section Scripts {

@Scripts.Render("~/bundles/jqueryval","~/Content/ueditor/ueditor.config.js","~/Content/ueditor/ueditor.all.js")

<script type="text/javascript">

var editor = new baidu.editor.ui.Editor({

UEDITOR_HOME_URL:'/shukongjishu/Content/ueditor/',//配置编辑器路径

iframeCssUrl:'/shukongjishu/Content/ueditor/themes/iframe.css',//样式路径

// initialContent:'欢迎使用ueditor',//初始化编辑器内容

autoHeightEnabled:true,//高度自动增长

initialFrameHeight:400

});

editor.render('Content');

</script>

}

所有访问视频的视图中修改要调用 的js:

@section Scripts{

@Scripts.Render("~/Content/ueditor/third-party/video-js/video.js")

@Scripts.Render("~/Content/ueditor/third-party/video-js/html5shiv.min.js")

@* @Scripts.Render("~/Content/ueditor/ueditor.parse.js")*@

<script type="text/javascript">

videojs.options.flash.swf = "/shukongjishu/Content/ueditor/third-party/video-js/video-js.swf";

</script>

}

4、重新编译一次应用程序,用FileSystem 文件系统发布程序 到一个文件夹(比如shukongjushu),但文件系统的发布方式不能发布数据库,默认也不发布App-Data文件夹 ,因为App-Data是存放数据库的,所有必须单独发布,右键选中App-Data文件夹,点发布。就把App-Data也发布出去了。

二、IIS设置

1、在IIS 中建立一个网站,应用程序池设置为.net Framework 4.0.应用程序标识设置为NetworkService;

2、然后在这个网站下建立与以上ueditor目录前缀同名的应用程序(相当于虚拟目录),但比虚拟目录灵活。 比如(shukongjishu),该应用程序指向我们刚才发布的虚拟目录。

应用程序有单独的web.config配置文件,也可以单独访问,在IIS中选中点击浏览即可访问。

三、配置sqlserver

1、登陆 sqlserver 2012或 2008 R2 管理控制台,新建一个名为NETWORK SERVICE的账户,在安全性-登录名-新建登录名,在 服务器角色中dbcreator 下打钩,以便能够利用Entity Frame work 采用asp.net mvc code first 方式 创建数据库。同时,也可设为sysadmin.

四、在浏览器中访问 子应用程序,

浏览器访问子程序后,程序将会重新编译和,填充数据库。

问题:有些时候访问子应用程序的时候,有些时候 有些子程序访问 ueditor 正常,有时 会出现 后端配置不正确。但 重新启动IIS后,又正常了。不知道原因。