我在通过队列枚举时遇到以下异常:
System.InvalidOperationException:集合已被修改; 枚举操作可能无法执行
这是代码摘录:
1: private bool extractWriteActions(out List<WriteChannel> channelWrites)
2: {
3: channelWrites = new List<WriteChannel>();
4: foreach (TpotAction action in tpotActionQueue)
5: {
6: if (action is WriteChannel)
7: {
8: channelWrites.Add((WriteChannel)action);
9: lock(tpotActionQueue)
10: {
11: action.Status = RecordStatus.Batched;
12: }
13: }
14: }
15: return (channelWrites.Count > 0);
16: }
Run Code Online (Sandbox Code Playgroud)
我想我理解了这个问题 - 改变哈希表action.Status = RecordStatus.Batched
,这搞砸了枚举器上的MoveNext().问题是,我该如何正确实现"模式"?
下面是一个EditorTemplate,它使用EditorFor
帮助器呈现Bootstrap datetimepicker,我看到的问题是脚本部分.它适用于DateTimePicker
每个视图一个- 但由于我使用类选择器,每当我DateTimePicker
在每个视图中使用2个或更多时,它会呈现重复的<script>
部分,使DOM在TextBox
调用日历时感到困惑.我在这里错过了什么?
@model DateTime?
<div class='input-group date datePicker'>
<span class="input-group-sm">
@Html.TextBox("", Model.HasValue ? Model.Value.ToString("d") : String.Empty)
</span>
</div>
<script type="text/javascript">
$(function() {
$('.datePicker').datetimepicker({
pickTime: false
});
});
</script>
Run Code Online (Sandbox Code Playgroud) asp.net-mvc mvc-editor-templates asp.net-mvc-4 bootstrap-datetimepicker