小编Los*_*ary的帖子

如何以编程方式单击按钮 - WebBrowser(IE)中的按钮

我在互联网上搜索了一些例子;

"如何在C#中单击webBrowser(Internet Explorer)中的按钮?"

这是在谷歌工作的代码;

JS:

    void ClickButton(string attribute, string attName)
    {
        HtmlElementCollection col = webBrowser1.Document.GetElementsByTagName("input");
        foreach (HtmlElement element in col)
        {
            if (element.GetAttribute(attribute).Equals(attName))
            {
                element.InvokeMember("click");   // Invoke the "Click" member of the button
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

但我的网页按钮有不同的标签.因此程序无法检测到单击它.

我的主要问题是; 如何以编程方式单击按钮?

HTML:

<a class="orderContinue" href="Addresses" title="Sipar Ver">Sipar Devam</a>
Run Code Online (Sandbox Code Playgroud)

html c#

4
推荐指数
1
解决办法
7947
查看次数

Metro风格从在线加载Js

我正在使用Windows 8上的Visual Studio 2012终极版.

我正在开发一个html5/js metro-style-application.

我想从在线动态加载我的js文件.喜欢;

<script src="http://example.com/js/myJsFile.js"></script>
Run Code Online (Sandbox Code Playgroud)

但是地铁应用说;

APPHOST9601:无法加载http://example.com/Scripts/myJsFile.js.应用无法在本地上下文中加载远程Web内容.

我该如何解决这个问题?谢谢...

javascript windows microsoft-metro

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

如何获得给定月份的每个星期一?

如何获得给定月份的每个“星期一”日?

一个例子;
输入:2017年7

11日(2017年7月11日)输出:( 3,10,17,24,31)3.7.2017星期一
10.7.2017星期一
17.7.2017星期一
24.7.2017星期一
31.7.2017

我可以得到给定月份的天数(对于2017年7月为31天)。然后,如果dayOfWeek等于星期一,则编写一个迭代(用于循环AE),然后添加到列表中。但这不是很好的代码,因为for循环将工作31次。应该有一个更好的算法来归档目标。

我正在使用C#.net Framework 4.6

更新
感谢大家的帮助,到目前为止,我已经给出了一些答案。我使用简单且肮脏的基准代码测试了所有代码,以找到更快的算法。

这是我的基准代码;

using System;
using System.Collections.Generic;
using System.Linq;

using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Attributes.Columns;
using BenchmarkDotNet.Attributes.Jobs;
using BenchmarkDotNet.Engines;

using X.Core.Helpers;

namespace X.ConsoleBenchmark
{
    [SimpleJob(RunStrategy.ColdStart, targetCount: 5)]
    [MinColumn, MaxColumn, MeanColumn, MedianColumn]
    public class LoopTest
    {
        [Benchmark]
        public void CalculateNextSalaryDateWithLoopAllDays()
        {
            DateTime date = new DateTime(2017, 7, 3);
            const int oneMillion = 1000000;
            for (int i = 0; i < oneMillion; i++)
            {
                List<DateTime> allXDaysInMonth = date.GetAllXDaysInMonthWithLoopAllDays(DayOfWeek.Tuesday);
                if (allXDaysInMonth …
Run Code Online (Sandbox Code Playgroud)

c# datetime

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

内容安全策略属性Mvc - 添加多次

我正在使用ASP.NET MVC 5.我编写了一个小的过滤器属性,用于将内容安全策略添加到响应头.这是代码:

public class ContentSecurityPolicyFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        HttpResponseBase response = filterContext.HttpContext.Response;

        response.AddHeader("Content-Security-Policy", "default-src *; " +
          "img-src * data:; " +
          "style-src 'self' 'unsafe-inline' http://fonts.googleapis.com https://fonts.googleapis.com; " +
          "script-src 'self' 'unsafe-inline' 'unsafe-eval' " +

          "localhost:*/* " +

          "https://facebook.com " + 
          "*.facebook.com " +

          "https://facebook.net " + 
          "*.facebook.net " +

          "https://onesignal.com " +
          "*.onesignal.com " +

          "https://abtasty.com *.abtasty.com *.convertexperiments.com " + 

          "http://www.googletagmanager.com " +
          "https://www.googletagmanager.com " +

          "http://www.google-analytics.com " +
          "https://www.google-analytics.com " + …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc content-security-policy

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

Elastic Search 5.x嵌套多个查询C#

我正在将C#与这些nuget包一起使用;

  <package id="Elasticsearch.Net" version="5.2.0" targetFramework="net462" />
  <package id="NEST" version="5.2.0" targetFramework="net462" />
  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net462" />
Run Code Online (Sandbox Code Playgroud)

我在这里想要做的是,我想获得价格在2000-3000之间的“白色”物品。这是对搜索API的简单要求,对吗?

所以我为此编写了代码。这里是;

private static void Search(IElasticContext elasticContext, string indexName)
    {
        IQueryContainer termQueryContainer = new QueryContainer();
        termQueryContainer.Term = new TermQuery
                                  {
                                      Field = new Field("description"),
                                      Value = "white"
                                  };

        IQueryContainer rangeQueryContainer = new QueryContainer();
        rangeQueryContainer.Range = new NumericRangeQuery
                                    {
                                        Field = new Field("price"),
                                        LessThanOrEqualTo = 3000,
                                        GreaterThanOrEqualTo = 2000
                                    };

        //Should get 2 items.

        SearchRequest<Product> searchRequest = new SearchRequest<Product>(indexName, typeof(Product))
                                               {
                                                   Size = 10, …
Run Code Online (Sandbox Code Playgroud)

c# elasticsearch nest

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

如何忽略"拒绝访问路径"/ C#中的UnauthorizedAccess异常?

如何绕过/忽略 "拒绝访问路径"/ UnauthorizedAccess异常

继续在此方法中收集文件名;

public static string[] GetFilesAndFoldersCMethod(string path)
{
   string[] filenames = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories).Select(Path.GetFullPath).ToArray();
   return filenames;
}
Run Code Online (Sandbox Code Playgroud)

//打电话......

foreach (var s in GetFilesAndFoldersCMethod(@"C:/"))
{
    Console.WriteLine(s);
}
Run Code Online (Sandbox Code Playgroud)

我的应用程序在GetFilesAndFoldersCMethod的第一行停止,一个异常说; "拒绝访问路径'C:\ @ Logs \'." 请帮我...

谢谢,

c# windows file-io try-catch

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

如何在 RavenDB 中没有给定索引的情况下删除集合?

我看到了通过查询删除集合实体的例子;
https://ravendb.net/docs/article-page/4.0/Csharp/client-api/operations/delete-by-query

但我的问题是,如何在不给出索引的情况下删除集合?

举个例子,我像这样创建/插入一个集合到RavenDB;

using (IDocumentSession session = _documentStore.OpenSession())
{
    session.Store<TEntity>(entity);
    session.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

我没有创建任何索引。刚刚将一些数据存储到 RavenDB。我在 api 中查找了类似的东西;

using (IDocumentSession session = _documentStore.OpenSession())
{
    session.DeleteAll<TEntity>()
    session.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

但这并不存在。那么如何在没有给定索引的情况下删除实体呢?

c# ravendb .net-core

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

如何在Html页面中写入用户的IP作为评论

我在www.illuminat.org上看到了这个神奇的东西,该网站不在线.

当用户访问此页面并按ctrl + U查看网站源时,用户只需在注释标签中看到他/她的计算机IP地址和位置信息... - 我不知道网站是如何做到的 - 如果用户向下滚动一点,<html>...代码就会出现......

无论如何,对不起我的英语,但我想你了解我,

我怎么能在Asp.net MVC3 Razor C#应用程序中这样做?

html c# ip comments asp.net-mvc-3

0
推荐指数
1
解决办法
189
查看次数

是否可以仅使用 JS、HTML 和 CSS 在 Chrome 扩展程序的窗口中显示网页?

我正在尝试开发一个 Google Chrome 扩展程序。

当用户单击扩展按钮时,将出现一个小窗口(不是window.open/弹出)并显示网页。我有基本的 JavaScript 知识,而且我听说 JavaScript 可以实现这一点。所以,我想在有限大小的窗口中显示我的网站。我怎样才能用 JS/HTML/CSS 简单地做到这一点?

一个例子(不是同一件事,但很接近):在自定义窗口中显示的谷歌浏览器扩展

感谢您的任何意见。

html javascript css google-chrome google-chrome-extension

0
推荐指数
1
解决办法
3805
查看次数

未捕获的ReferenceError:"$未定义"

这是我在互联网上找到的工具提示js功能,由于防御性编程而重新编码.但原始代码和我的代码具有相同的Google Chrome控制台错误消息.

消息说:

未捕获的ReferenceError:$未定义.

生成以下行的错误.

$(document).ready(function(){...
Run Code Online (Sandbox Code Playgroud)

代码工作正常,没有错误.在主函数中,控制台没有给出$符号的错误消息.

一个例子:

$(document).ready(function(){... //no error on console for "$"
Run Code Online (Sandbox Code Playgroud)

那么,这是Chrome浏览器控制台的错误还是我的错?

this.tooltip = function(){  
    /* CONFIG */        
        xOffset = 10;
        yOffset = 20;       
        // these 2 variable determine popup's distance from the cursor
        // you might want to adjust to get the right result     
    /* END CONFIG */        
    $("a.tooltip").hover(function(e){   
        if (this.t) 
            this.t = this.title;
        this.title = "";                                      
        $("body").append("<p id='tooltip'>"+ this.t +"</p>");
        $("#tooltip")
            .css("top",(e.pageY - xOffset) + "px")
            .css("left",(e.pageX + yOffset) + "px")
            .fadeIn("fast"); …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

0
推荐指数
1
解决办法
9182
查看次数

创建对象之间是否存在任何差异,然后将其返回或直接创建并返回?

对不起标题,这很难说.请看我的例子.
GetUser1和GetUser2之间有什么区别吗?

class Program
{
    static void Main(string[] args)
    {
        GetUser1();
        GetUser2();
    }

    private static User GetUser1()
    {
        return new User
    {
            Name = "Hello"
    };
    }

    private static User GetUser2()
    {
        User user = new User
        {
            Name = "Hello"
        };
        return user;
    }
}

public class User
{
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的一个朋友说; 没有区别.
但我这么说; 两种方法之间存在差异.GetUser2正在创建一个不必要的新对象.并且GetUser2具有轻微(非常小的)性能错误,因为您正在创建一个新对象......这是什么真相?我该如何研究这个话题?

更新
非常感谢您的回答...所以我继续问;
如果GetUser1和GetUser2之间没有区别,为什么roslyn会像这样编译代码(链接);

private static User GetUser1()
{
    return new User {
        Name = "Hello"
    }; …
Run Code Online (Sandbox Code Playgroud)

.net c#

0
推荐指数
2
解决办法
110
查看次数