昨天我看到了一个关于Java Server Faces 2.0的演示文稿,虽然我现在是一个快乐的ASP.NET MVC/jQuery开发人员,但它看起来确实令人印象深刻.我最喜欢JSF的是大量支持AJAX的UI组件,这些组件似乎比ASP.NET MVC更快,特别是在AJAX重型站点上.集成测试看起来也很不错.
由于演示文稿只强调了JSF的优点,我也想听听另一方面的意见.
所以我的问题是:
例如@Html.ActionLink(),ASP.NET MVC可以使用HTML Helpers生成HTML元素,@Html.BeginForm()依此类推.
我知道我可以通过创建一个匿名对象来指定表单属性,并将该对象传递给(在本例中为第四个)htmlAttributes参数,其中id为元素指定一个:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})
Run Code Online (Sandbox Code Playgroud)
但class属性怎么样?显然这不起作用:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})
Run Code Online (Sandbox Code Playgroud)
因为在请求我的视图时,它只会抛出随机语法错误,因为它在遇到C#关键字后需要其他东西class.
我也尝试过:
new { _class = "myclass"}
Run Code Online (Sandbox Code Playgroud)
和
new { class_ = "myclass"}
Run Code Online (Sandbox Code Playgroud)
但它们也没有用,因为下划线被短划线取代.
我知道我也可以手工编写HTML元素或将表单包装在一个内部<div class="myClass">,但我仍然有兴趣知道它应该如何完成.
根据这篇博客文章,大多数使用EF迁移的公司都不会使用EF迁移更新生产数据库的数据库模式.相反,博客文章的作者建议使用Schema更新脚本作为部署过程的一部分.
我已经使用Schema更新脚本几年了,当它们工作时,我计划将来使用EF迁移,原因如下:
我可以想到的一个原因是,如果数据库模式只是由DBA而不是开发人员改变,那么禁止使用EF来迁移生产数据库.但是,我既是DBA又是开发人员,所以这在我的案例中并不重要.
那么,使用EF更新生产数据库有哪些风险?
编辑:我想补充一点,正如solomon8718已经建议的那样,我总是将生产数据库的新副本提取到我的登台服务器,并在将它们应用到生产服务器之前测试要在登台服务器上应用的EF迁移.对于生产系统的任何架构更新,IMO都是必不可少的,无论我是否使用EF迁移.
我正在尝试编写一个简单的声明性html帮助器:
@helper Echo(string input) {
@input
}
Run Code Online (Sandbox Code Playgroud)
如果我将它嵌入我想要使用它的页面,帮助程序工作正常.但是如果我将它移动到一个单独的.cshtml文件并将该文件放在~/Views/Helpers目录中,我的视图就不能再编译了,因为找不到帮助器.根据Scott Gu 关于Razor的博客文章,它应该有效.
我究竟做错了什么?
我将改造我的自定义图形引擎,以便它利用多核CPU.更确切地说,我正在寻找一个并行化循环的库.
在我看来,OpenMP和英特尔的Thread Building Blocks都非常适合这项工作.此外,Visual Studio的C++编译器和大多数其他流行的编译器都支持它们.这两个库看起来都非常简单易用.
那么,我应该选择哪一个?有没有人尝试过两个库,可以给我一些利弊和使用任何一个库的优点?另外,你最终选择了什么?
谢谢,
阿德里安
在使用ASP.NET MVC时,我注意到我系统上安装的.NET框架发出的异常消息是德语.我真的更喜欢英文短信,所以我可以将它们贴在SO上.
我知道之前已经问过这个问题了,但奇怪的是,建议的解决方法似乎都不适用于我的情况.我已经尝试过以下方法:
在抛出异常之前将线程区域设置设置为英语,如下所示:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
//打电话给我错误的方法......
那么,我如何让.NET框架发出英语异常消息呢?是否有任何方法可以在每个解决方案甚至整个系统的基础上执行此操作?
编辑:在排除单元测试时抛出异常.我不确定这是否是设置线程文化无效的原因.
我有两个表(任务和时间条目),它们通过外键连接(TimeEntries.TaskID引用Tasks.ID)
现在,我想删除任务中未被TimeEntries表引用的所有行.我认为这应该有效:
DELETE FROM Tasks WHERE ID not IN (SELECT TaskID FROM TimeEntries)
Run Code Online (Sandbox Code Playgroud)
但它会影响0行,即使Tasks表中有很多未引用的行.
这可能是什么问题?当然我可以写一个迭代所有行的SP,但看起来这可以在一个衬里完成.
我想这是睡眠时间下溢错误之一.请帮忙!
据我所知,Visual Studio(2008年和2010年)曾经有一个选项可以在抛出的异常或未处理的异常上中断.现在,当我打开Exceptions对话框(Ctr + Alt + E)时,它只是在抛出异常时提供中断:

我已经尝试调整该对话框中的列,但这没有帮助.这是一个错误,还是我错过了什么?
debugging exception visual-studio-2010 visual-studio-2008 visual-studio
我正在尝试分析SQL Server 2008探查器中的死锁.我知道如何找到有问题的SQL查询,但收集的查询不包含参数值.
换句话说,我可以看到这样的事情:
DELETE FROM users WHERE id = @id
Run Code Online (Sandbox Code Playgroud)
但我想看到的是:
DELETE FROM users WHERE id = 12345
Run Code Online (Sandbox Code Playgroud)
我想我需要在探查器中收集一些额外的事件或列,但我不知道哪个.我目前正在使用"TSQL_LOCKS"模板.
任何提示将不胜感激.
谢谢,
阿德里安
免责声明:之前我曾问过类似的问题,但我觉得这个问题太具体了,这就是我没有回复的原因.我开始用这个尝试了.
我用jQuery Mobile创建了一个适合移动设备的网站,并添加了一些元信息,以便它应该固定在iOS和Android主屏幕上,并且应该作为Web应用程序启动(换句话说:在浏览器中,但没有浏览器导航元件).
它适用于iOS,但它不适用于Android 4.4.2.
我按照本教程创建了Android兼容的网络应用程序:
尽管添加了教程中列出的所有元信息,但Android确实显示了我的网站的"添加到主屏幕"按钮,但它没有启动没有浏览器导航元素的网站,如教程中所述.
我究竟做错了什么?
asp.net-mvc ×4
c# ×2
exception ×2
html-helper ×2
razor ×2
sql-server ×2
.net ×1
android ×1
c++ ×1
debugging ×1
homescreen ×1
jsf ×1
jsf-2 ×1
localization ×1
multicore ×1
openmp ×1
t-sql ×1
tbb ×1