我们必须在我们的产品中添加一个基本的HTML编辑器.由于我们目前仅支持IE(大多数客户仍在IE 6上),我被告知使用Internet Explorer内置的XHTML编辑功能 - 例如<div contentEditable="true">
" 编辑网页 "中所述.
除了不在其他浏览器中工作.(管理层并不认为这是一个问题.我们的客户会忍受我们的软件只与IE合作.我们的软件从未在IE浏览器中丢失任何金钱;大多数客户只会让他们的员工目前使用IE6 )
contentEditable我们可能会遇到哪些其他问题?
更新
我用"contentEditable"编写的HTML编辑器很难获得可靠性,但存在许多问题.如果我不得不再次这样做,我会非常努力地采用众多开源解决方案之一(例如TinyMCE)或购买支持的HTML编辑器.
毫无疑问,如果有足够的时间,一个非常熟练的jscript程序员可以让"contentEditable"工作得很好.只是网络上的所有示例看起来都很简单,直到您测试常用操作,例如从单词执行剪切/粘贴并尝试编辑生成的HTML.(只是客户会做的事情)
(只需在stackoverflow上搜索"contentEditable"以获得其他人遇到的问题的理想选择)
在XAML中,如何为不同属性区分的treeviewitems定义上下文菜单?
还有一个很大的不同的方式Silverlight应用程序可以连接返回到它的服务器.包含
对于这些中的每一个,请说明它的用途以及何时使用或不使用它.我不是在寻找一个很好的细节,只是一套"经验法则",可以在它们之间进行选择.
(问题是在设计第一个Silverlight应用程序时,知道在没有时间学习所有这些应用程序时要使用的内容.)
如果我在这个问题中用WPF替换Silverlight会对你的答案产生什么影响?(我假设WPF认为由于防火墙和管理员策略,不能直接连接到数据库.)
从C++/Java/C#背景开始我希望在Swift中看到虚拟方法,但是阅读swift文档我没有提到虚拟方法.
我错过了什么?
我刚写了这段代码:
System.Threading.SynchronizationContext.Current.Post(
state => DoUpdateInUIThread((Abc)state),
abc);
Run Code Online (Sandbox Code Playgroud)
但System.Threading.SynchronizationContext.Current为null
在MVVM中,通过数据绑定将View连接到ViewModel是很正常的.
因此,如果属性的名称在其中一个模型对象上更改为数据绑定到没有编译器错误.
当编译器不会阻止错误时,我想到的下一件事是"UnitTest",但是
如何在不花费永远编写GUI测试的情况下对其进行单元测试?
是否有一个系统会检查所有绑定的属性是否有效(无需运行UI)我可以在单元测试中调用?
我正在寻找能够获取视图的内容,然后循环遍历所有WPF控件,对于每个WPF控件,它将查看所有绑定并检查它们是否有效.
顺便提一下,关于如何使OnPropertyChanged安全,和/或如何测试它有一些很好的问题(但是这些完成后可以达到WPF视图的水平.)
我已经对这个问题给予了赏金,因为有人必须认真思考这个问题并提出解决方案.
很明显,有很多问题看起来像一个简单的正则表达式将解决,但事实证明,使用正则表达式很难解决.
那么,不是正则表达式专家的人怎么知道他/她是否应该学习正则表达式来解决给定的问题?
(请参阅"正则表达式解析C#源代码以查找所有字符串",以便我提出这个问题.)
这似乎总结得很好:
(我刚刚更改了问题的标题以使其更具体,因为在C#中使用Regex的一些问题在Perl和JScript中得到了解决,例如,两个引用级别使Regex难以理解.)
我被告知使用log4net将"日志记录"添加到我的代码中,问题是没有人可以及时访问并查看需要使用日志记录解决的实际问题.
因此,无论如何都要有一套指导,以便进行合理的成本/收益交易?
因此:
应该在以后有用的应用程序中添加哪种日志记录?
(代码使用了很多WCF,一方是Winforms,另一方是通常在同一台机器上运行的"服务器")
-
我已经将AJM的答案排除在做有用的博客文章之前,并指出了很多评论,但如果有人想出一套很好的" 经验法则 ",我很可能会改变预期的答案.
我一直在关注async
c#5.0中新功能的新公告.我对继续传递样式以及新的c#编译器对Eric Lippert的帖子中的代码片段所做的转换有基本的了解:
async void ArchiveDocuments(List<Url> urls)
{
Task archive = null;
for(int i = 0; i < urls.Count; ++i)
{
var document = await FetchAsync(urls[i]);
if (archive != null)
await archive;
archive = ArchiveAsync(document);
}
}
Run Code Online (Sandbox Code Playgroud)
我知道有些语言通过call-with-current-continuation(callcc
)本地实现continuation ,但我真的不明白它是如何工作的或它究竟是做什么的.
所以这就是问题:如果安德斯等人.已经决定咬紧牙关,只是callcc
在c#5.0而不是async
/ await
特殊情况下实现,上面的代码片段会是什么样子?
c# ×4
.net ×2
wcf ×2
wpf ×2
async-await ×1
asynchronous ×1
callcc ×1
contextmenu ×1
generics ×1
html ×1
inheritance ×1
java ×1
javascript ×1
log4net ×1
mvvm ×1
regex ×1
rest ×1
silverlight ×1
swift ×1
treeviewitem ×1
unit-testing ×1
winforms ×1
xaml ×1