我已经对网络和Stack Overflow进行了拖网搜索,并且没有找到这个问题的充分答案.在我开始寻找自己的解决方案的试错过程之前,我想我会转向Stack Overflow智囊团,看看是否已经成功实施.
我有一个AJAX驱动的页面,适用于非JavaScript浏览器和SEO.AJAX版本中的每次单击都可以由唯一的URL表示.
我想要做的是动态更改按钮的HREF.我确实理解这个标签在运行时被转换为标准HTML(即变成讨厌的表/ iframe布局).
我只是想知道是否有人对如何在AJAX驱动的页面上实现这个FB类按钮有任何见解?
提前干杯:)
编辑:
您如何看待我刚刚攻击的这种方法?看到它有什么大问题吗?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="JS/jquery/jquery.js" type="text/javascript"></script>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<script language="javascript" type="text/javascript">
$("document").ready
(
function ()
{
CreateNewLikeButton("http://www.yahoo.com")
$("a#ChangeToGoogle").click
(
function (e)
{
e.preventDefault();
CreateNewLikeButton("http://www.google.ca")
}
);
}
);
function CreateNewLikeButton(url)
{
var elem = $(document.createElement("fb:like"));
elem.attr("href", url);
$("div#Container").empty().append(elem);
FB.XFBML.parse($("div#Container").get(0));
}
</script>
</head>
<body>
<form id="form1" runat="server">
<a id="ChangeToGoogle" href="#">Change To Google</a>
<div id="Container">
<fb:like href="http://www.NEVER_LINK_TO_THIS_12345.com"></fb:like>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我主要是一个ASP.NET开发人员,但我正在研究一个WinForms应用程序,并注意到ASP.NET组合框(html select)和WinForms之间存在很大差异.我发现(可能不正确)WinForm的组合框只有一个"标签",而ASP.NET允许你指定一个"标签"和一个"值".
我希望使用WinForms组合框(或其他类似的控件)与标签和值(Foobar/42329).这可能吗?我试图寻找答案,但没有提出太多.如果没有办法实现这一点,那么如何设计一个WinForm组合框来表示具有相关数据库ID的城市呢?
我是SQL Server中的JSON新手,无法弄清楚如何返回一个简单的字符串数组:
DECLARE @T TABLE ([value] NVARCHAR(MAX))
INSERT INTO @T ([value]) VALUES ('foo')
INSERT INTO @T ([value]) VALUES ('bar')
INSERT INTO @T ([value]) VALUES ('test')
INSERT INTO @T ([value]) VALUES ('ok')
SELECT [value]
FROM @T
FOR JSON PATH
Run Code Online (Sandbox Code Playgroud)
这将返回一个对象数组:
[{"value":"foo"},{"value":"bar"},{"value":"test"},{"value":"ok"}]
Run Code Online (Sandbox Code Playgroud)
我希望它返回:
["foo","bar","test","ok"]
Run Code Online (Sandbox Code Playgroud)
甚至可以这样做吗?
我遇到的有关合并XML文档的所有解决方案都无法满足我的需求.让我解释:
XML文档1:
<?xml version="1.0" encoding="utf-8" ?>
<a>
<b title="Original Section">
<b title="Original Child Section"></b>
<b title="Original Child Section 2"></b>
</b>
</a>
Run Code Online (Sandbox Code Playgroud)
XML文档2:
<?xml version="1.0" encoding="utf-8" ?>
<a>
<b title="New Section">
<b title="New Child Section"></b>
</b>
<b title="Original Section">
<b title="Original Child Section">
<b title="New Child For Old Section"></b>
</b>
</b>
</a>
Run Code Online (Sandbox Code Playgroud)
进入这样的最终文档:
<?xml version="1.0" encoding="utf-8" ?>
<a>
<b title="Original Section">
<b title="Original Child Section">
<b title="New Child For Old Section"></b>
</b>
<b title="Original Child Section 2"></b>
</b>
<b title="New Section"> …Run Code Online (Sandbox Code Playgroud) 我在这里和整个网络上遇到了几个"解决方案"但似乎没有一个符合要求.
我要做的是让app监视新文件的文件夹(通过创建,移动或复制)并对这些对象执行操作.就是这种情况,我转向FileSystemWatcher类来执行此操作.
问题是文件FileSystemWatcher.Created事件在创建整个文件之前被触发(最明显的是通过大文件的副本看到).
有没有办法让这个事件在文件创建结束时触发而不是从头开始?我尝试过FileSystemWatcher.NofityFilter属性的各种组合但没有成功.
提前致谢!:)
我试图替换这个神可怕的正则表达式集合,这些正则表达式目前用于清理格式不良的HTML块,并偶然发现了用于C#的HTML Agility Pack.它看起来非常强大,但是,我找不到一个如何使用包的例子,在我看来,它将是包含在其中的所需功能.我确信我是个白痴,在文档中找不到合适的方法.
让我解释一下......说我有以下html:
<p class="someclass">
<font size="3">
<font face="Times New Roman">
this is some text
<a href="somepage.html">Some link</a>
</font>
</font>
</p>
Run Code Online (Sandbox Code Playgroud)
......我想看起来像:
<p>
this is some text
<a href="somepage.html">Some link</a>
</p>
Run Code Online (Sandbox Code Playgroud)
当我使用HtmlNode.Remove()方法时,它删除节点及其所有子节点.有没有办法删除保留孩子的节点?
我几乎不好意思问这个问题,但我们开始......
我不是用户控件方面的专家,并且需要一些有关尝试实现特定所需功能的设计建议。
目标是拥有一个用户控件,它可以呈现为 html 元素和 css 的复杂结构,从而形成一个优雅的容器框。问题在于如何填充框中的内容,因为用户控件的每个实例都有其自己的单独的 HTML 内容。用户控件的内容容器 div 将深深嵌套在呈现的 html 结构中。以编程方式设置用户控件的内容或使用属性是不可取的。
在伪代码中,所需的语法类似于:
<usercontrol Title="Some Title"><p>some random html content</p></usercontrol>
Run Code Online (Sandbox Code Playgroud)
呈现的用户控件的示例如下:
<div class="CommonBox">
<div class="Title">Some Title</div>
<div class="Content"><p>some random html content</p></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我希望我的解释是充分的。这对任何人都有意义还是所需的功能无法实现?
干杯!
编辑
我尝试了模板化的用户控制建议,希望能找到一个不错的解决方案。我“回溯”了这个网站 ,现在有了一个可以工作的模板化用户控件。我的下一个问题是,如何以编程方式访问模板中嵌套的控件...假设示例链接中的“描述”模板中有一个文本框控件,并且我想以编程方式设置其值?这可能吗?
另一个Adobe Air的问题,但首先是我的任务背景.它是一个AIR应用程序,它将从USB密钥读取资产,并且必须在WIN和MacOS上运行.问题是,如何在MacOS上将资源加载到应用程序中!听起来很简单,可以在Windows上无缝运行.
这是我想要做的代码片段:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ok);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
var p:String;
if (os == "mac")
{
p = "/Volumes/" + keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
else
{
p = keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
var temp:File = new File(p);
Debugger.Display.text += "\nAttempting to load: " + p;
Debugger.Display.text += "\nDoes it exist? " + temp.exists;
loader.load(new URLRequest(p));
Run Code Online (Sandbox Code Playgroud)
...变量OS和keyVolume正在早期代码中成功设置.此外,我还为ok()和ioErro()定义了事件监听器回调.
运行时,它会在Windows上打印出来:
试图加载:G:\ 0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg
它是否存在:true
...然后成功加载资产.
在MacOS上,它打印出来:
试图加载:/Volumes/AC/0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg
它是否存在:true
...然后每次都失败并出现IOError.
谁能看到我在这里失踪的东西?我是否有某种权限错误或某些内容(文件具有"读/写"访问权限).USB密钥格式化为MS-DOS FAT32,这可能是个问题吗?
编辑
我将MacOS中的新USB密钥格式化为FAT16并将文件放在上面但没有成功.问题仍然存在
编辑
我现在只是尝试从/ users/-USERNAME-/Desktop加载一个资产,但仍然收到相同的错误,所以看起来它只是USB棒上的权限问题,它比这更广泛.
编辑 …
还有一个极端新手的另一个Lucene.net问题.
这一次,我发现了使用包含范围和使用突出显示的查询的一个有趣问题.
我是从内存中写的,所以请原谅任何语法错误.
我有一个假设的Lucene索引:
---------------------------------------------------------
| date | text |
---------------------------------------------------------
| 1317809124 | a crazy block of text |
---------------------------------------------------------
| 1317809284 | programmers are crazy |
---------------------------------------------------------
** date is a unix timestamp
Run Code Online (Sandbox Code Playgroud)
......并且它们已通过以下方式添加到索引中:
Lucene.Net.Documents.Document doc = new Lucene.Net.Documents.Document();
doc.Add(new Lucene.Net.Documents.Field("text", "some block of text", Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.ANALYZED, Lucene.Net.Documents.Field.TermVector.WITH_POSITIONS_OFFSETS));
doc.Add(new Lucene.Net.Documents.Field("date", "some unix timestamp", Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.NOT_ANALYZED));
Run Code Online (Sandbox Code Playgroud)
这就是我查询Lucene的方式:
Lucene.Net.Analysis.Standard.StandardAnalyzer analyzer = new Lucene.Net.Analysis.Standard.StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29);
Lucene.Net.Search.IndexSearcher searcher = new Lucene.Net.Search.IndexSearcher(Lucene.Net.Store.FSDirectory.Open(_headlinesDirectory), true);
Lucene.Net.QueryParsers.QueryParser parser = new Lucene.Net.QueryParsers.QueryParser(Lucene.Net.Util.Version.LUCENE_29, "text", analyzer);
Lucene.Net.Search.Query query = parser.Parse(queryPhrase); …Run Code Online (Sandbox Code Playgroud) 像往常一样,我转向Stackoverflow用户群的大量脑力,以帮助解决我正在与之斗争的Lucene.NET问题.首先,当谈到Lucene和Lucene.NET时,我是一个完整的菜鸟,通过在线使用分散的教程和代码片段,我为我的场景拼凑了以下解决方案.
情景
我有以下结构的索引:
---------------------------------------------------------
| id | date | security | text |
---------------------------------------------------------
| 1 | 2011-01-01 | -1-12-4- | some analyzed text here |
---------------------------------------------------------
| 2 | 2011-01-01 | -11-3- | some analyzed text here |
---------------------------------------------------------
| 3 | 2011-01-01 | -1- | some analyzed text here |
---------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我需要能够查询文本字段,但将结果限制为具有特定roleId的用户.
为实现这一目标我想出的是(经过多次,多次访问谷歌之后)使用"安全字段"和Lucene过滤器来限制结果集,如下所述:
class SecurityFilter : Lucene.Net.Search.Filter
{
public override System.Collections.BitArray Bits(Lucene.Net.Index.IndexReader indexReader)
{
BitArray bitarray = new BitArray(indexReader.MaxDoc());
for (int i = 0; i < bitarray.Length; i++) …Run Code Online (Sandbox Code Playgroud) 正如标题所暗示的,我在设置用户密码时遇到了关于尊重密码策略的问题,特别是密码历史限制。
该场景是用户密码重置,当用户不知道其当前密码时。我正在使用以下方法来完成此操作:
using (PrincipalContext context = new PrincipalContext(ContextType.Domain, "XXXX", "ADMINUSER", "ADMINPASSWORD")) {
using (UserPrincipal user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, username)) {
user.SetPassword(password);
}
}
Run Code Online (Sandbox Code Playgroud)
这适用于每项策略减去密码历史限制。
现在考虑这个场景,当用户想要更改他们的密码并且知道他们当前使用的密码时:
using (PrincipalContext context = new PrincipalContext(ContextType.Domain, "XXXX.XXX.com")) {
using (UserPrincipal user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, username)) {
user.ChangePassword(currentPassword, newPassword);
}
}
Run Code Online (Sandbox Code Playgroud)
...按预期工作,并根据所有密码策略限制进行验证。
有没有人处理过这个问题?
干杯:)
c# ×7
.net ×4
asp.net ×3
filesystems ×2
lucene.net ×2
air ×1
ajax ×1
arrays ×1
combobox ×1
facebook ×1
html ×1
javascript ×1
jquery ×1
json ×1
linq ×1
linq-to-xml ×1
lucene ×1
recursion ×1
sql-server ×1
winforms ×1
xml ×1