我注意到在MVC 2 Preview 2中,AreaRegistration正在以任意顺序加载每个区域的路由.有没有一个好方法让一个先于另一个?
例如,我有两个区域 - "站点"和"管理员".两者都有一个"博客"控制器.
我想要以下内容:
/admin/ --> go to Admin's Blog controller
/ --> go to Site's Blog controller.
Run Code Online (Sandbox Code Playgroud)
问题是它首先加载了站点的路由,所以它匹配{controller}/{action}/{id}
而不是admin/{controller}/{action}/{id}
当我转到URL"/ admin /"时.然后我得到404,因为"站点"区域中没有管理员控制器.
这两个区域都默认为"博客"控制器.我意识到我可以简单地把它site/{controller}/...
作为网址,但如果可能的话,我宁愿把它放在根端.我还尝试在全局RegisterRoutes函数中保留默认路由,但是,它不会发送到"站点"区域.
提前致谢!
我在使用使用"createLink"命令的所见即所得编辑器时尝试添加属性.我认为在浏览执行该命令后返回创建的节点是微不足道的.
事实证明,我只能在IE中获取这个新创建的节点.有任何想法吗?
以下代码演示了此问题(底部的调试日志显示每个浏览器中的不同输出):
var getSelectedHTML = function() {
if ($.browser.msie) {
return this.getRange().htmlText;
} else {
var elem = this.getRange().cloneContents();
return $("<p/>").append($(elem)).html();
}
};
var getSelection = function() {
if ($.browser.msie) {
return this.editor.selection;
} else {
return this.iframe[0].contentDocument.defaultView.getSelection();
}
};
var getRange = function() {
var s = this.getSelection();
return (s.getRangeAt) ? s.getRangeAt(0) : s.createRange();
};
var getSelectedNode = function() {
var range = this.getRange();
var parent = range.commonAncestorContainer ? range.commonAncestorContainer :
range.parentElement ? range.parentElement():
range.item(0);
return parent;
}; …
Run Code Online (Sandbox Code Playgroud)