小编Jas*_*son的帖子

MVC 2 AreaRegistration路线顺序

我注意到在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函数中保留默认路由,但是,它不会发送到"站点"区域.

提前致谢!

asp.net-mvc routes asp.net-mvc-routing .net-3.5

12
推荐指数
2
解决办法
6232
查看次数

从Gecko和Webkit中的选择(范围)中检索父节点

我在使用使用"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)

javascript gecko webkit

6
推荐指数
2
解决办法
8212
查看次数