我刚刚将ASP.Net MVC应用程序升级到MVC-4.基于DateTime值的输入的字段编辑器现在包括HTML-5 type="date"属性/值声明.
现在,在Chrome中查看时,我的日期输入在输入字段中显示为"mm/dd/yyyy":

即使我使用value属性传递正确格式的日期:
<input value="2012/10/02" type="date"/>
Run Code Online (Sandbox Code Playgroud)
我仍然在输入框中输入"mm/dd/yyyy",直到用户手动更改值.
问题似乎与Chrome有关,并且与我的后端框架无关.在操作中看到这个问题:jsFiddle
...当然,编辑记录的大问题.如果用户提取已有有效日期的记录,则不会在提交时通过验证,除非他/她单击该字段并手动重置该值.
没有其他浏览器的问题.
这是Chrome错误吗?或者我错过了关于HTML-5日期字段应该如何工作的方式?
更新
请参阅此修订小提琴:http://jsfiddle.net/HudMe/5/ 它同时具有HTML-4和HTML-5日期输入,每个输入都将"10/01/2012"设置为页面加载时的值.
单击任一日期字段.Javascript应该使用该元素的字段值来发出警报.
由于已使用value属性传递了有效日期,因此应显示"10/01/2012",但在Chrome中,对于HTML-5日期字段,不会显示任何内容.手动重置此值,然后再次单击,现在将显示.
HTML5字段中的值按预期显示和警告,无需在Safari,Firefox,IE和Opera中的页面加载后进行调整.
关于已接受答案的注意事项:
对于Asp.net mvc-4的其他用户,您可以使用[DisplayFormat]视图模型中DateTime字段声明中的属性调整显示格式.(见/sf/answers/884412931/)
我正在为一个网站设计一个数据库,该网站至少会有4种不同的对象类型(文章,博客文章,照片,故事),每个对象都有不同的数据要求来保证自己的表格.我们希望用户能够发布任何这些类型的评论.评论的数据要求很简单,与评论所关注的事物类型无关(即只是评论主体和作者的电子邮件).
我想避免为注释创建和管理4个以上的单独表的冗余,所以我希望能够在一个表中保存所有注释,可能通过2列指定关系:一个用于指定父实体和一个对于父行Id.
但是我不明白我是如何实现外键的,因为外键在2和2个表之间建立关系(对吗?).
因此,考虑到所有这些,最好的方法是什么?
我有一个通过jQuery绑定到链接的ajax调用,我希望它被一个确认对话框拦截.但是无论选择哪个选项,ajax调用都会触发(即使用户只是关闭了对话框).
有没有办法让确认在同步上下文中工作?
HTML:
<a href="#" class="removeItem delete">remove</a>
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$('.delete').click(function () {
confirm('Are you sure you want to delete this?');
});
$('.removeItem').click(function (event) {
event.preventDefault();
$.ajax({
url: 'myUrl',
type: "POST",
data: {
// data stuff here
},
success: function () {
// does some stuff here...
}
});
});
Run Code Online (Sandbox Code Playgroud) 这是一个学术问题,但我试图在更深层次上理解框架设计.
所以我们有 String.IsNullOrEmpty(MyString)
我们可以编写一个扩展方法来启用myString.IsNullOrEmpty(),尽管这可能不是最好的想法.请参阅:使用IsNullOrEmpty扩展String类是否令人困惑?.
所以我的问题是,为什么MS不将此功能写为.Net框架的一部分?有一些性能考虑因素吗?更一般地说,为什么任何被视为有价值的方法或属性都可以通过String对象构建为不可用作为字符串类型的任何对象的成员?
我似乎错过了一些非常简单的事情,但无法在任何地方找到答案.
我想生成一个通用的"你有错误 - 请参见下面"在使用任何错误时在表单上的语句类型@Html.ValidationSummary(true),并列出所有特定错误仅在相关字段旁边内联.我想要一个Action Filter中包含的逻辑和错误文本.
问题是,我在"模型级"错误上看到的所有文档都解释了如何在视图中显示它们,而不是如何将它们添加到模型状态.
通过添加的错误ModelState.AddModelError不是模型级别 - 所以如何添加模型级错误?
我在表单上有一个输入标签,用于选择要上传的图像.
<div id="lowresDemo">
<img src="some-url" />
</div>
<input type="file" id="FileToUpload" name="FileToUpload" />
Run Code Online (Sandbox Code Playgroud)
我试图更改输入旁边的表单上显示的缩略图,以向用户确认他们的选择是使用以下jquery代码进行的:
$('#FileToUpload').change(function () {
$('#lowresDemo img').attr('src', $(this).val());
});
Run Code Online (Sandbox Code Playgroud)
...这在任何浏览器中都不起作用,出于浏览器安全原因,我认为(我记得上次我做过像年前这样的事情).
问题:
有没有办法在提交表单之前显示用户的图像选择 - 而不仅仅是输入字段中值的文件路径+名称,而是显示他们选择的文件的缩略图?
或现代浏览器安全防止这种情况?
我正在尝试使用IValidatableObject来相互验证表单值.我想将ValidationResult分配给特定字段,以便我可以在该字段旁边显示错误消息.
例如,我可能希望用户输入密码两次,如果第二个不等于第一个,则验证失败,然后在第二个旁边显示错误消息.
但是,似乎我只能以这种方式在模型级别分配错误; 按模型级别我的意思是将显示的错误@Html.ValidationSummary(true),并且与特定模型字段无关.
我已经检查了ValidationResult的声明,我没有看到任何看起来对此有帮助的属性或方法.那么 - 任何人都可以向我展示一种方法,从IValidateableObject的Validate方法中将ValidationResult分配给特定字段,或者确认不可能这样做吗?
(注意:我不是在寻找解决方法.请不要 - 例如,没有关于密码示例的过滤器的答案.我只想具体了解IValidateObject的限制.)
我有一个名为Image的实体类型,它继承自Publication(有5种其他类型的Publications,都共享10个公共属性).
不幸的是,我的数据库中的图像表包含4个二进制列,其中包含4个不同分辨率图像版本的数据,因此EF图像类型有4个属性:BinOriginal,BinHiRes,BinLowRes,BinThumbnail,包含非常大量的数据.
这会影响性能.例如,当我只是生成一系列图像链接时,我不想获取所有二进制数据.
所以我尝试了表格拆分,将4个二进制字段放入一个新的ImageFile实体中:http://blogs.msdn.com/b/adonet/archive/2008/12/05/table-splitting-mapping-多实体类型到最同table.aspx
我已经确保了正确的表映射,添加了1-1关联并包含了引用约束,但是我收到了这个错误:
Error 3033: Problem in mapping fragments starting at line 2731:EntitySets
'ImageFiles' and 'Publications' are both mapped to table 'Images'. Their primary
keys may collide.
Run Code Online (Sandbox Code Playgroud)
...似乎存在一个问题,即被拆分的表涉及继承关系.
我尝试从Publication继承新的ImageFile EF类型,但后来我收到一个错误:
Problem in mapping fragments starting at lines 2332, 2374:Two entities with
different keys are mapped to the same row
Run Code Online (Sandbox Code Playgroud)
问题有没有解决这个问题的方法,或者我需要图像EF类型继承自出版物的事实是否排除了将其他字段拆分为新类型?
我想将ReSharper_ToggleSuspended命令映射到VS 2012中工具栏上的按钮,但该命令未在"自定义>命令"对话框中可用的命令的ReSharper类别中列出.
有没有办法做到这一点?
在Windows中,当您按下Alt并Tab在一起,然后重复按Tab同时按住上Alt,你可以看到所有打开的窗口的列表,你可以在它们之间进行切换.
在Notepad ++和其他编辑器中,您可以使用Ctrl+ Tabcombo 使用编辑器选项卡执行相同的操作.
问题: 虽然Sublime Text支持基本Ctrl- Tab但它不支持在保持Ctrl选项卡按下的同时查看所有选项卡列表的功能(与Notepad ++一样).是否有一些提供此功能的插件,或者我不知道的备用键组合?
jquery ×2
.net ×1
asp.net-mvc ×1
c# ×1
confirm ×1
forms ×1
html ×1
html5 ×1
javascript ×1
resharper ×1
sublimetext ×1
sublimetext3 ×1