小编Dea*_*ane的帖子

如何将 HTML 插入到 AngleSharp 的文本节点中?

我正在用 AngleSharp 解析文档。我有一个文本节点(NodeName:“#text”),我想在其中插入一些 HTML。我当然可以将 NodeValue 重置为我想要的任何值,但它仍然是一个文本节点,所以所有的括号都被转义了。

如何获取文本节点的字符串值,向其中注入一些 HTML,然后解析 DOM 表示该 HTML 代替原始文本节点?

anglesharp

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

如果存在标准输入,如何捕获它而不等待它?

我有一个 C# 命令行应用程序。如果提供了标准输入,我需要捕获它。如果没有,执行就应该开始。

我尝试过各种组合:

Console.OpenStandardInput()
Console.ReadLine()
Console.In.Peek()
Run Code Online (Sandbox Code Playgroud)

它们全部阻塞,等待输入。这不是我想要的。标准输入应该是可选的。如果未提供,则程序应该在没有它的情况下启动,并且无需等待它。

c# stdin command-line-arguments

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

为什么营销人员的Web表单没有在我的自定义保存操作中正确填充选定的DropList值?

在我的自定义保存操作中,我遍历表单字段(AdaptedControlResult对象).任何表单字段都是DropList(来自任何来源 - 手动输入的值或项目查找)返回的字符串值为System.Collections.Generic.List`1[System.String]

现在,重要的是要知道,它不会返回实际的List.它返回一个带有该值的文字字符串.

所以,这个电话:

fields.GetEntryByName("MyFieldName").Value
Run Code Online (Sandbox Code Playgroud)

正在返回字符串:System.Collections.Generic.List`1[System.String].不是下拉列表的价值.一个字符串,说它是一个List<string>.

我已经确认表单的HTML正确呈现.我也手动检查了入站HttpContext.Current.Request.Form值...

HttpContext.Current.Request.Form["BGWnjkQqrE6w6sr31IgzrQ.Sections[5].Fields[0].Value"]
Run Code Online (Sandbox Code Playgroud)

这是下拉列表中正确选择的值(Sitecore ID).

因此,数据正确地输出到表单,并且入站Request.Form数据也是正确的.某处,Sitecore决定不将所选值填充到AdaptedControlResult对象中.

另外奇怪的是,对于DropList字段类型,所选值确实出现在Parameters属性中(莫名其妙).我只是检测到并使用它,但它不一致 - 例如,对于文本框字段类型,单词"multiline"出现在那里.

所有其他字段类型工作正常 - 我有几个文本输入字段和一些单选按钮列表.它只是DropList字段.

得到这个的诀窍是什么?

sitecore web-forms-for-marketers

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

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

Sharepoint模板文件是否实际存储在文件系统中?

我是Sharepoint的新手,刚刚开始使用Sharepoint Designer.我很好奇我在Sharepoint设计器中看到的文件系统,它似乎没有出现在其他任何地方.

当我在Sharepoint Designer中打开Sharepoint站点时,我看到所有列表的文件夹以及在其中创建的Web表单 - 我实际上是在查看Windows文件系统吗?或者这些虚拟文件实际上不存在于文件系统中?

换句话说,当我在Sharepoint中创建一个新的List时,做一堆模板文件("AllItems.aspx","DispForm.aspx"等)会被写入某个文件系统吗?如果是的话,在哪里?

我问,因为我搜索了,在实际文件系统的任何地方找不到我在Sharepoint Designer中看到的任何文件.

sharepoint sharepoint-designer

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

如何在Windows环境中通过HTTP访问SVN?

在Windows环境中通过HTTP访问SVN的最佳实践是什么?

在Linux中,我们一直将SVN连接到Apache,因此我们可以通过HTTP寻址远程存储库.有没有办法将SVN连接到IIS,或者某种方便的方式让您通过HTTP访问Windows机器上的SVN存储库?

svn windows

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

是否可以通过CSS单独使文本框看起来像textarea?

是否有可能通过CSS获得一个文本框("输入"带有"type = text")来表现得像textarea?

显然,我可以设置高度和宽度,但是我不能像文本区域一样包裹它,也不能将内容垂直对齐.

我有一种情况,我不能改变页面的HTML,但我可以改变CSS.我的用户想要textareas,他们只有文本框,我希望我可以单独使用CSS.

我尝试了"白色空间"和"垂直对齐"的每个组合.

html css

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

有一种简单的方法来计算递归数据结构中的元素吗?

我在C#对象中有一个递归数据结构.

对象具有"部件"的集合.每个零件还有一个零件集合.等等.结构理论上可以永远嵌套.

object
--> Part
--> Part
  --> Part
  --> Part
    --> Part
  --> Part
--> Part
Run Code Online (Sandbox Code Playgroud)

我想得到这个结构中所有部件的数量.所以,所有的分支和叶子.(在上面的例子中共有7个部分.)

有没有办法在不初始化计数器并通过树递归的情况下执行此操作?当然,我可以做到这一点,但它看起来很慢而且有点过分.有更好/更简单的方法吗?

c#

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

从URL字符串中删除父路径的最快,最干净的方法是什么?

在C#中,是否有任何内置方法来"纠正"其中包含父路径的URL?所以,我想接受这个:

/foo/bar/../baz.html
Run Code Online (Sandbox Code Playgroud)

把它变成......

/foo/baz.html
Run Code Online (Sandbox Code Playgroud)

("bar"目录在路径中被".."否定.)

我试图手动滚动它,但逻辑非常难看,非常快.考虑类似的事情:

/foo1/foo2/../foo3/foo4/foo5/../../bar.html
Run Code Online (Sandbox Code Playgroud)

我向前走的路径是逐段移动URL,然后开始编写新的URL.如果第2段不是"..",我只会在新网址中包含第1段.但是,在上面的例子中,我需要"向前看"并弄清楚我有多少父路径.

我试图使用Path.GetFullPath,它在技术上得到了它的工作,但是,伙计,它很难看.公平警告:你可能想避开这个:

Path.GetFullPath(myUrl).Replace(Path.GetFullPath(@"\"), "").Replace(@"\", "/") + "/";
Run Code Online (Sandbox Code Playgroud)

GetFullPath从"C:\"根返回一个文件系统路径,所以你基本上必须替换它,而不是转换斜杠等.

我最终可能会把它打破(我的丑陋代码在技术上可行),但是我觉得我不能成为第一个尝试这个的人.谷歌没有帮助.

(另一种语言的答案也会有所帮助 - 至少它会显示逻辑.)

c# string url

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

您如何确保.Net始终从命名空间树的根目录中搜索命名空间?

有没有办法告诉.Net从命名空间树的根目录搜索命名空间?

假设我有两个完全独立的命名空间:

Apple.Orange.Banana
Orange.Grape.Peach
Run Code Online (Sandbox Code Playgroud)

假设他们来自不同的程序员,每个人中的"橙色"完全是巧合.

如果我在"Apple.Orange.Banana"里面,我试图导入(或引用)"Orange.Grape.Peach".Net的东西,我试图从"Apple.Orange.Banana"中的"Orange"搜索".

我怎么说呢,"从根本看,而不是我现在所处的位置." 这会很棒:

~Orange.Grape.Peach
Run Code Online (Sandbox Code Playgroud)

但是,唉,这不存在.

我知道你们中的一些人会说我应该更好地规划命名空间,但是当我使用来自两个地方的代码时会发生什么,这些代码预定义了我无法改变的命名空间,并且它们如上所述那样冲突了?

c# namespaces

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

如何将不同组件中的对象相互转换?

我遇到了这个显然并非罕见的问题 -

  1. 我在Assembly A中有一个接口.

  2. 我正在动态加载程序集B,并尝试将一个对象从程序集A中转换到我的接口中.

  3. 它失败了InvalidCastException.

我已经明白了为什么 - 程序集A中的类和程序集B中的类,即使具有相同的名称和相同的代码,也不是相同的东西,不能相互强制转换.

我的问题是:有解决方案吗?有什么方法可以使这两种类型兼容,或者我是否需要在程序集B中复制我的接口并将对象转换为该接口?

我正在使用Assembly.LoadFrom加载程序集B - 是否有不同的方法可以使它们与类型兼容?

我不能成为第一个遇到这个问题的人.我想要做的事情似乎是插件架构相当普遍的任务.

.net assemblies

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

如何"就地"向前移动循环?

是否有可能通过循环"寻找"?基于某些条件,我想做一个"继续到位",以快进循环.像这样:

for(var thing in things)
{
  // Do stuff

  if(something)
  {
     // Move iteration forward until the iteration object ("thing") meets the right condition
     while(true)
     { 
       // Move the iteration forward...somehow
       [Missing code goes here]
       if(thing.Property == somevalue)
       {
         break;
       }
     }
  }

  // Do more stuff on the new value of "thing"
}
Run Code Online (Sandbox Code Playgroud)

我可以使用continue,但我不想回到循环的顶部.我想循环通过枚举器中的对象,然后从我离开的地方继续前进.

我猜这是不可能的.如果没有,那么模仿我想做什么的最佳逻辑是什么.

c#

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