小编MyD*_*ons的帖子

innerText vs innerHtml vs label vs text vs textContent vs outerText

我有一个由Javascript填充的下拉列表.

在确定应该在加载时显示的默认值时,我意识到以下属性显示完全相同的值:

  • innerText
  • innerHtml
  • label
  • text
  • textContent
  • outerText

我自己的研究显示了基准测试或其中几个测试之间的比较,但不是全部.

我可以使用我自己的常识并选择1或其他因为它们提供相同的结果,但是,我担心如果数据要改变,这不是一个好主意.

我的发现是:

  • innerText 将按原样显示该值,并忽略可能包含的任何HTML格式
  • innerHTML 将显示该值并应用任何HTML格式
  • label看来是一样的innerText,我看不出差别
  • text似乎innerText与jQuery简写版本相同
  • textContent看起来像是一样innerText但保持格式化(例如\n)
  • outerText 似乎是一样的 innerText

我的研究只能采取我太厉害,我只能考什么我能想到的或读到的东西发布后,任何一个可以确认但如果我的研究是正确的,如果有什么特别的labelouterText

html javascript dom

114
推荐指数
4
解决办法
6万
查看次数

CSS文件未显示在服务器上 - ASP.NET MVC Bundles错误.403 - 禁止访问:访问被拒绝

我的MVC 4应用程序在我的本地计算机上运行正常.

但是,我发布后CSS文件不起作用(不影响网站的布局).

我可以看到CSS文件在服务器上.

当我查看源代码时,我可以看到

<link href="/Content/css?v=fxCdHAOgPDvcROxkMfEwGQggO9uCfzckN3PaN8BOIzI1" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)

在我的本地计算机上,源代码显示为

<link href="/Content/css/myFile.css" rel="stylesheet"/>
<link href="/Content/css/myFile02.css" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)

所以,在服务器的源代码视图中,我点击了 Content/css?v=fxCdHAOgPDvcROxkMfEwGQggO9uCfzckN3PaN8BOIzI1,浏览器将我带到403 - 禁止访问:访问被拒绝.

我正在使用BunldeConfig.cs类添加CSS文件

    public class BundleConfig
    {
        // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/javascript").Include(
                        "~/Scripts/1.9.1.js",
                        "~/Scripts/jTools.js",
                        "~/Scripts/script.js"
                        ));

            bundles.Add(new StyleBundle("~/Content/css").Include(
                "~/Content/Css/website.css", 
                "~/Content/Css/banner.css", 
                "~/Content/Css/reusable.css",
                "~/Content/Css/lists.css",
                "~/Content/Css/tooltip.css",
                "~/Content/Css/overlay.css"
                ));


        }
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是,假设这不是服务器的IT问题(直到最近一直工作正常)我的代码有问题吗?

css asp.net-mvc publish

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

是>:第一个孩子的工作是否已知或未知类型?

我已经阅读过第一个直接孩子是否有CSS选择器?http://www.w3schools.com/cssref/css_selectors.asp

我想我必须将效果应用于<h1>标签的第一个孩子,但我无法让它工作.所以相反,我试图使用nth-child,但仍然没有运气.

的jsfiddle

<section>
<article>
    <h1>Test Details</h1>
        <ul>
            <li>Layer This</li>
            <li>Layer That</li>
            <li>Layers</li>
        </ul>
</article>
</section>

<section>
    <article>
        <h1>Campaign details</h1>
        <p>Text</p>
    </article>
</section>
Run Code Online (Sandbox Code Playgroud)

CSS

section {
    padding:30px;
}

section article {
    background:#EBEBEB;
}

section article h1 {
    background:#0C79CB;
    padding:10px;
}

/* This is where I am struggling */
section article h1:nth-child(2):before  {
    background-color:white !important;
    content:'';
    height:10px;
    display:block;
}
Run Code Online (Sandbox Code Playgroud)

如果你打开小提琴,你会注意到标题有蓝色背景,内容有灰色背景.我所要做的就是"插入"一条白线:

当前:

在此输入图像描述

所需(注意蓝色和灰色之间的白色)

在此输入图像描述

请注意,我知道如果我只是添加一个新div类,或者甚至添加一个标签,这是非常简单border-bottom:solid 5px white;<h1>,重点是我正在尝试学习CSS选择器,所以这可能使用CSS选择器吗?

html css css-selectors

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

如何按结果“分组”并在 Azure App Insights 中计数

我正在尝试对应用洞察中的一些结果进行分组,并且正在努力

如果我要列出我的结果,它看起来像

Product        Version

 A              1
 B              2
 A              2
 A              1
 B              3
 B              3
Run Code Online (Sandbox Code Playgroud)

如您所见,我有 2 个产品(A 和 B),每个产品都有一个版本号。

我试图将这些分组并提供一个计数,所以我的最终结果是

Product        Version       Count

 A              1              2
 A              2              1 
 B              2              1
 B              3              2
Run Code Online (Sandbox Code Playgroud)

目前,我的方法一团糟,因为我手动执行此操作

customEvents
| summarise A1 = count(customEvents.['payload.prod'] == "A" and myEvents.['payload.vers'] == "1"),
| summarise A2 = count(customEvents.['payload.prod'] == "A" and myEvents.['payload.vers'] == "2")
Run Code Online (Sandbox Code Playgroud)

等等

我不知道如何聚合这些,以便它可以按产品和版本分组,然后计算每个出现的次数

azure azure-application-insights

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

为什么EnumerateFiles比计算大小要快得多

对于我的WPF项目,我必须在单个目录(可能有子目录)中计算总文件大小.

样品1

DirectoryInfo di = new DirectoryInfo(path);
var totalLength = di.EnumerateFiles("*.*", SearchOption.AllDirectories).Sum(fi => fi.Length);

if (totalLength / 1000000 >= size)
    return true;
Run Code Online (Sandbox Code Playgroud)

样本2

 var sizeOfHtmlDirectory = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories);
 long totalLength = 0;
 foreach (var file in sizeOfHtmlDirectory)
 {
     totalLength += new FileInfo(file).Length;
     if (totalLength / 1000000 >= size)
         return true;
 }
Run Code Online (Sandbox Code Playgroud)

两个样本都有效.

样品1在更快的时间内完成.我没有准确计时,但在我的电脑上,使用相同内容/文件大小的相同文件夹,样本1需要几秒钟,样本2需要几分钟.

编辑

我应该指出,样品2中的瓶颈在foreach循环内!它快速读取GetFiles并快速进入foreach循环.

我的问题是,我怎么知道为什么会这样呢?

.net c#

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

无法从TFS运行解决方案,因为缺少所有引用

我有一个工作正常的项目.今天早上,我创建了一个新的TFS项目,并发布了Visual Studio 2015中的所有代码.

在另一台计算机上,也通过VS2015,我已登录到Visual Studio Team Services以获取相同的项目并下载了所有代码

当我尝试构建时,有超过100个错误,但原因似乎是相同的.它无法找到资源,而且所有错误消息都显示出来

命名空间名称'some name'的类型在'....'中不存在(您是否缺少程序集引用?)

所以,我扩展了参考文献,我几乎都缺少所有参考文献.事实上,除了我自己的项目中的引用,其余的不在那里

查看属性显示没有路径.回到原来的PC上,我看到任何.dll的路径也是类似的

C:\ Users\Me\Documents\Visual Studio 2015\Projects\MyProj\ToT\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll

问题是,由于这条路径在"故障"机器上不匹配,因此无法显示......因此,解决方案是什么

在此输入图像描述

我检查并注意到,当我在文件资源管理器中查看它们时,文件确实存在.

缺少Visual Studio 2013 NuGet Async的所有系统引用都没有帮助

请注意,我的解决方案中的所有项目都会发生这种情况,但不是很有效.例如,所有人都缺少EntityFramework,但是我的UI层缺少System,但是我的BLL层没有

有没有办法来解决这个问题?

tfs visual-studio-2015 azure-devops

8
推荐指数
2
解决办法
9658
查看次数

无法访问文件

我继承了一个新项目.网站(MVC.NET)引用Windows 2012服务器上的文件位置(它似乎是硬编码的),但该文件与网站不在同一目录中.

部分代码使用File.Copy将文件从一个位置复制到另一个位置,但这会导致异常.

显然它在昨天工作,而今天却没有.该网站已关闭,因此我正在寻求解决它.

来自浏览器的错误消息是

访问路径'C:\ Websites\Website\Content\Images\Uploads\Certificate 1.jpg'被拒绝.

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.UnauthorizedAccessException:拒绝访问路径'C:\ Websites\Website\Content\Images\Uploads\Certificate 1.jpg'.

ASP.NET无权访问所请求的资源.考虑将资源的访问权限授予ASP.NET请求标识.ASP.NET具有基本进程标识(IIS 5上通常为{MACHINE}\ASPNET,IIS 6和IIS 7上为网络服务,IIS 7.5上已配置的应用程序池标识),如果应用程序未模拟,则使用该标识.如果应用程序模拟通过,则标识将是匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户.

要授予对文件的ASP.NET访问权限,请在"文件资源管理器"中右键单击该文件,选择"属性",然后选择"安全"选项卡.单击"添加"以添加适当的用户或组.突出显示ASP.NET帐户,并选中所需访问的框.

解决此问题的最简单方法(作为临时修复只是为了让网站启动并运行)我认为是给予该文件夹的完全权限,这意味着添加Everyone完全权限.它没用.我并不好奇为什么.

我知道这有什么风险,但我的问题是为什么这不起作用.为什么我仍然会看到相同的错误消息?

我可以RDP到服务器并访问该文件没有问题.因此,我不认为这是服务器问题(对于ServerFault或SuperUser).

我怀疑它在.NET中是一种保护.以同样的方式(如果我没记错),我们必须在IIS中设置特殊权限以允许ASP中的父路径.

我需要做什么?

编辑

我已经将网站上传到另一台服务器并且同样的问题仍然存在,这表明该故障与计算机没有任何关系,但更多是由于.NET或IIS

IIS设置为使用集成管理管道(非经典),我尝试添加NETWORK SERVICE和IUSR的权限.

permissions asp.net-mvc

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

可以在 JavaScript 中显式输入“属性”或“字段”吗

我有 C# 背景,我们有fieldsproperties.

JavaScript 支持类,我正在学习它们,但立即遇到了障碍。

以下代码片段工作正常,但我的问题是关于 2 个“字段”massmoons. JavaScript 正在创建这些对象,但我想知道是否可以显式创建它们。

class Planet {

      constructor (mass, moons) {
        this.mass  = mass;
        this.moons = moons || 0;
      }

      reportMoons () {
        txt.innerHTML = "I have " + this.moons + " moons.";
      }
}
Run Code Online (Sandbox Code Playgroud)

代码来源

所以不知何故(我相信由于变量没有定义,它应该自动成为一个全局变量,但由于它是类的一部分,我怀疑它也没有这样做),JavaScript知道massmoons。我宁愿看到这些变量被显式声明(就像在 C# 中一样),但我无法在类中添加var,const或。let以下内容无效

class Planet {  

   constructor (mass, moons) {
   }

   let _mass;
   const _val = 5; …
Run Code Online (Sandbox Code Playgroud)

javascript class

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

Application.Current 和 App.Current 为空

我正在创建一个应用程序(Outlook 的 Office 加载项)

我遇到的问题是更新我的屏幕。我知道我需要使用 invoke Dispatcher 但是,它在我的ViewModel

    private ObservableCollection<string> _updates;
    public ObservableCollection<string> Updates
    {
        get { return this._updates; }
        set
        {
            this._updates = value;
            OnPropertyChanged("Updates");
        }
    }


        BackgroundWorker bw = new BackgroundWorker();
        bw.DoWork += ((s, e) =>
        {
            //logic
            UpdateProgress("Finished");
        });

        bw.RunWorkerAsync();


    private void UpdateProgress(string s)
    {
        //Application.Current.Dispatcher.Invoke(() =>
       // {
        App.Current.Dispatcher.Invoke(() =>
        {            
            this.Updates.Add(s);
        //});
        });
    }
Run Code Online (Sandbox Code Playgroud)

如您所见,我尝试了两种方法,但是 Current始终为空。

奇怪的是,如果我在 MainWindow 后面的代码中使用相同的代码,那么下面的工作正常

    private void UpdateProgress(string s)
    {
        Dispatcher.Invoke(() =>
        {
            this.Update = s;
        });
    }
Run Code Online (Sandbox Code Playgroud)

我已经阅读了,原因是因为背后的 …

c# wpf

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

包 Microsoft.AspNetCore.Authentication.JwtBearer 5.0.0 与 netcoreapp3.1 不兼容,但它的目标是 net 5.0

我正在从 .Net Core 3.1 迁移到 .NET 5.0。

我不断收到此错误消息:

包 Microsoft.AspNetCore.Authentication.JwtBearer 5.0.0 与 netcoreapp3.1 (.NETCoreApp,Version=v3.1) / win-x86 不兼容。包 Microsoft.AspNetCore.Authentication.JwtBearer 5.0.0 支持:net5.0 (.NETCoreApp,Version=v5.0)

我明白它在说什么,但我不知道它为什么这么说。

我的项目面向 .NET 5.0。

我的 csproj 文件如下所示:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <UserSecretsId>5e2f8086-7a94-402a-bd2a-4160e9236c8f</UserSecretsId>
  </PropertyGroup>


 <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Abstractions" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="5.0.0" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

我不确定为什么它会告诉我 3.1。

我手动删除了 bin 和 obj 文件夹,尝试更新所有 nuget 包,并清理/重建项目,但我每次都遇到相同的问题。

我在 Visual Studio 16.8.2 上。

编辑

我应该指出,该错误不是编译器错误!如果我在 Visual Studio 中进行调试,网站就会正常运行。此错误消息仅在我尝试发布时出现

asp.net-core asp.net-core-3.1 asp.net-core-5.0

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