小编Abe*_*Abe的帖子

Html Agility Pack:查找评论节点

我正在抓取一个使用Javascript动态填充Html Agility包网站内容的网站.

基本上,我正在搜索XPATH "\\div[@class='PricingInfo']",但是这个div节点是通过Javascript写入DOM的.

因此,当我通过Html Agility包加载页面时,找不到上面提到的XPATH.

事实证明,在我要解析的特定脚本块之前有一条注释.

<!--Module 328 Buying Options Table-->
<script type="text/javascript" language="JavaScript">
    var data = {
        price: 30.00
    }
</script>
Run Code Online (Sandbox Code Playgroud)

对于这个站点,有许多脚本块,所以我需要通过找到这个自动生成的注释来缩小它,<!--Module 328 Buying Options Table-->并且该节点的兄弟将是正确的脚本块.

有关如何搜索特定注释然后只是获取相邻脚本块的任何想法?

谢谢!

html c# xpath web-scraping html-agility-pack

11
推荐指数
1
解决办法
5300
查看次数

Javascript:计算给定年份的月数

我有一个HTML页面,包含月份,日期和年份的3个下拉列表,我想知道是否有办法根据月份和年份正确填充月份下拉列表.

我之前没有在客户端做过这个,但看起来像jQuery DatePicker这样的很多控件都是在幕后做的.

javascript date datepicker leap-year drop-down-menu

11
推荐指数
2
解决办法
4万
查看次数

MarionetteJS:应用程序区域与布局

我正在阅读最新版本(2.3.0)的文档,它说应用程序区域现已弃用.

应用领域

警告:不建议使用此功能已弃用.您应该使用布局视图,而不是将应用程序用作视图树的根.要将布局视图范围限定为整个文档,可以将其el设置为"body".这可能类似于以下内容:var RootView = Marionette.LayoutView.extend({el:'body'});

在大多数教程中,包括David Sulc的书Backbone Marionette:A Gentle Introduction,它使用以下代码片段向应用程序添加区域.

而不是下面使用addRegions的示例,我应该做什么呢?

var ContactManager = new Marionette.Application({});
ContactManager.addRegions({
    mainRegion: "#main-region"
});

var ContactView = Marionette.ItemView.extend({
    template: "#whatever",
    ui: {
        button: ".button".
    },
    events: {
        "click @ui.button": "click",
    },
    click: function () {
        console.log("do stuff here...");
    }
});

ContactManager.on("start", function () {
    var contactView = new ContactView({
        model: someModel
    });
    ContactManager.mainRegion.show(contactView);
});
Run Code Online (Sandbox Code Playgroud)

backbone.js backbone-views marionette

7
推荐指数
1
解决办法
1390
查看次数

我可以通过代码而不是属性指定XMLRoot吗?

有没有办法在运行时设置对象或类的xmlroot?

[XmlRoot("data")]
public class MyRoot {
    [XmlElement("bar")]
    public List<RemoteHost> Hosts {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我没有选择修改类MyRoot; 所以,我想指定在使用XmlSerializer将对象序列化为XML之前,我希望将根名称称为"数据".

c# xml-serialization

6
推荐指数
1
解决办法
1529
查看次数

YUI数据表宽度

这似乎是一个基本问题,但我无法弄清楚如何在YUI数据表上将表宽度设置为100%.

我试过了

#dtContainer {
    width: 100%;
}

#dtContainer table {
    width: 100%
}
Run Code Online (Sandbox Code Playgroud)

但这些方法都不起作用.

为了澄清,当表空为空且显示空消息时,我试图将数据表宽度设置为100%.

生成的表是一个HTML表; 所以,我认为这应该有效.

datatable yui html-table width

5
推荐指数
1
解决办法
5907
查看次数

Linq-to-Entities:选择查询表达式中的格式日期

我试图直接从LINQ到实体查询表达式获取格式化的日期字符串.

nonBusinessDays = (from ac in db.AdminCalendar
                   where ac.DateTimeValue >= calendarStartDate && ac.DateTimeValue <= calendarEndDate && ac.IsBusinessDay == false
                   select ac.MonthValue + "/" + ac.DayOfMonth + "/" + ac.FullYear).ToList();
Run Code Online (Sandbox Code Playgroud)

但是,我得到了folloinw错误消息:"无法将类型'System.Nullable`1'强制转换为'System.Object'.LINQ to Entities仅支持转换实体数据模型基元类型."

除了遍历结果集之外,还有什么方法可以做到这一点吗?谢谢!安倍晋三

datetime linq-to-entities string-formatting

5
推荐指数
1
解决办法
2万
查看次数

C# DynamicObject:有没有办法通过索引访问属性?

有没有办法通过索引访问动态对象的属性?

List<dynamic> list = _dataStagingManager.GetStatusList(consoleSearch);
foreach (var row in list)
{
    Console.WriteLine(row[0]);
    Console.WriteLine(row[1]);
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,row[0] 的属性名称因存储过程列别名的结果而异。

c# indexing dynamic

5
推荐指数
1
解决办法
7013
查看次数

Ninject 2.0:根据实现传递不同的参数

我刚刚开始使用Ninject 2.0和ASP.NET MVC 2.因此,我有一个接口IMongoRepository和类MongoRepository.

MongoRepository接收参数字符串集合.

根据我想要使用的集合,我在MongoRepository的参数中传入一个不同的值.我希望我正确地说这个,但是我如何根据我使用的控制器映射不同的参数?

例如,在Article控制器中我会调用:

_articlesRepository = new MongoRepository("Articles");
Run Code Online (Sandbox Code Playgroud)

在PageController中我会调用:

_pagesController = new MongoRepository("Pages");
Run Code Online (Sandbox Code Playgroud)

我想做的只是做构造函数注入,然后传入IMongoRepository.任何想法或建议?

顺便说一句,我只是在学习IOC/DI; 所以,我愿意接受IOC忍者的任何提示!谢谢!

dependency-injection ninject constructor-injection ninject-2 asp.net-mvc-2

3
推荐指数
1
解决办法
538
查看次数

ASP.NET MVC路由:如何将所有操作重定向到Base Url?

反正有没有让给定控制器中的所有操作重定向到服务器根目录?

例如,如果我有一个带控制器主页和操作术语的URL,我希望URL成为/ terms

如果我有另一个带有控制器主页和操作隐私的URL,那么该URL应该成为/ privacy.

我能够通过硬编码2条路线来做到这一点,但有没有办法自动执行此操作?

routes.MapRoute(
    "Term",
    "terms",
    new { controller = "Home", action = "terms" }
 );

routes.MapRoute(
    "Privacy",
    "privacy",
    new { controller = "Home", action = "privacy" }
);
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-routing

3
推荐指数
1
解决办法
1615
查看次数

是否有一个jQuery等效的YUI 2自定义事件发布/订阅事件模型?

我学会了如何使用YUI 2库在Javascript中开发,并想知道是否有jQuery等效的自定义事件(http://developer.yahoo.com/yui/event/#customevent)

具体来说,我希望能够定义自定义事件,而无需最初附加侦听器.

在YUI中,我将创建一个页面类并声明可以订阅的不同自定义事件.下面是一些示例代码,用于演示我想要做什么,但使用jQuery

function ListPage() {
    var me = this;
    this.initEvent = new YAHOO.util.CustomEvent("initEvent");

    this.init = function() {
         // initialize events, DOM, etc
         this.initEvent.fire(me);
    }
}
Run Code Online (Sandbox Code Playgroud)

在应用程序Javascript中,我想订阅initEvent.

var page = new ListPage();
page.initEvent.subscribe(
    function (type, args) {
        // do stuff here
    }
);

page.init();
Run Code Online (Sandbox Code Playgroud)

在jQuery中有没有这样的教程/示例?

我理解我可以使用bind()和trigger()做类似的事情,但我得到的印象是当我调用bind()时我必须传入一个事件处理程序.

是否有可能在jQuery中创建自定义事件,但稍后传入事件处理程序?

我希望我的问题有道理.谢谢!

jquery publish-subscribe custom-event

3
推荐指数
1
解决办法
700
查看次数