小编slo*_*ife的帖子

如何使用LINQ选择具有最小或最大属性值的对象

我有一个具有Nullable DateOfBirth属性的Person对象.有没有办法使用LINQ查询具有最早/最小DateOfBirth值的Person对象列表.

这是我开始的:

var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));
Run Code Online (Sandbox Code Playgroud)

Null DateOfBirth值设置为DateTime.MaxValue,以便将它们排除在Min考虑范围之外(假设至少有一个具有指定的DOB).

但对我来说,所有这一切都是将firstBornDate设置为DateTime值.我想得到的是与之匹配的Person对象.我是否需要编写第二个查询:

var firstBorn = People.Single(p=> (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);
Run Code Online (Sandbox Code Playgroud)

或者有更简洁的方法吗?

.net c# linq

437
推荐指数
8
解决办法
24万
查看次数

阻止jQuery UI对话框将焦点设置为第一个文本框

我已经设置了一个jQuery UI模式对话框,以便在用户单击链接时显示.在该对话框div标签中有两个文本框(我只为简洁显示1的代码),它被更改为对焦点做出反应的jQuery UI DatePicker文本框.

问题是jQuery UI对话框('open')以某种方式触发第一个文本框具有焦点,然后触发datepicker日历立即打开.

所以我正在寻找一种方法来防止焦点自动发生.

<div><a id="lnkAddReservation" href="#">Add reservation</a></div>

<div id="divNewReservation" style="display:none" title="Add reservation">
    <table>
        <tr>
            <th><asp:Label AssociatedControlID="txtStartDate" runat="server" Text="Start date" /></th>
            <td>
                <asp:TextBox ID="txtStartDate" runat="server" CssClass="datepicker" />
            </td>
        </tr>
    </table>

    <div>
        <asp:Button ID="btnAddReservation" runat="server" OnClick="btnAddReservation_Click" Text="Add reservation" />
    </div>
</div>

<script type="text/javascript">
    $(document).ready(function() {
        var dlg = $('#divNewReservation');
        $('.datepicker').datepicker({ duration: '' });
        dlg.dialog({ autoOpen:false, modal: true, width:400 });
        $('#lnkAddReservation').click(function() { dlg.dialog('open'); return false; });
        dlg.parent().appendTo(jQuery("form:first"));
    });
</script>
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui

154
推荐指数
10
解决办法
12万
查看次数

更容易从附加元素获取jQuery对象的方法

有没有更容易/更快的方法来使用jQuery append添加元素:

如何获取$ selectors元素:

$container.append('<div class="selectors"></div>');
var $selectors = $('.selectors', $container);
Run Code Online (Sandbox Code Playgroud)

我试过了:

var $selectors = $container.append('<div class="selectors"></div>');
Run Code Online (Sandbox Code Playgroud)

但这使得$ selectors = $ container

也许这是最快/最好的方式.只是检查.

jquery append css-selectors

78
推荐指数
3
解决办法
5万
查看次数

JSLint背后有什么原因说"var语句太多"

JSLint(打开onevar标志)正在标记我的一些javascript代码,其中包含以下内容:

Problem at line 5 character 15: Too many var statements.

我很乐意解决这些错误,但我想知道,我是为了性能而做,还是因为这只是一种不好的做法,并且更有可能在我的javascript代码中引入错误.onevar旗帜背后的原因是什么?

我确实查看了var关键字的JSLint文档,但没有具体说明为什么同一函数中的多个var语句都不好.

这是一个例子的尝试.解释代码如何只从1个var语句中受益:

function Test(arg) {
   var x = arg + 1,
       y = cache.GetItem('xyz');
   if (y !== null) {
      // This is what would cause the warning in JSLint
      var request = ajaxPost(/* Parameters here */);

   }
}
Run Code Online (Sandbox Code Playgroud)

javascript refactoring jslint

63
推荐指数
3
解决办法
1万
查看次数

如何确定用户是否选择了文件上传文件?

如果我有

<input id="uploadFile" type="file" />
Run Code Online (Sandbox Code Playgroud)

标记和提交按钮,如何在IE6(及更高版本)中确定用户是否选择了文件.

在FF中,我只是这样做:

var selected = document.getElementById("uploadBox").files.length > 0;
Run Code Online (Sandbox Code Playgroud)

但这在IE中不起作用.

html javascript upload

54
推荐指数
3
解决办法
8万
查看次数

如何在表行(tr)上叠加div(或任何元素)?

我想在一个碰巧有多个列的表行(tr标签)上叠加一个div(或任何可以工作的元素).

我尝试了一些似乎不起作用的方法.我在下面发布了我当前的代码.

我确实得到了一个叠加层,但不是直接在行上.我尝试将叠加层顶部设置为$ divBottom.css('top'),但这始终是'auto'.

那么,我是在正确的轨道上,还是有更好的方法呢?你可以看到,使用jQuery很好.

如果我在正确的轨道上,我如何正确放置div?offsetTop是否包含在包含元素,表中的偏移量,我需要做一些数学运算?还有其他问题我会遇到这个问题吗?

$(document).ready(function() {
  $('#lnkDoIt').click(function() {
    var $divBottom = $('#rowBottom');
    var $divOverlay = $('#divOverlay');
    var bottomTop = $divBottom.attr('offsetTop');
    var bottomLeft = $divBottom.attr('offsetLeft');
    var bottomWidth = $divBottom.css('width');
    var bottomHeight = $divBottom.css('height');
    $divOverlay.css('top', bottomTop);
    $divOverlay.css('left', bottomLeft);
    $divOverlay.css('width', bottomWidth);
    $divOverlay.css('height', bottomHeight);

    $('#info').text('Top: ' + bottomTop + ' Left: ' + bottomLeft);
  });
});
Run Code Online (Sandbox Code Playgroud)
#rowBottom { outline:red solid 2px }
#divBottom { margin:1em; font-size:xx-large; position:relative; }
#divOverlay { background-color:Silver; text-align:center;  position:absolute; z-index:10000; opacity:0.5; }
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
  <head>
    <title>Overlay Tests</title> …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery overlay

52
推荐指数
2
解决办法
7万
查看次数

如何指定在显示ModalPopupExtender时运行的javascript

在ASP.NET AJAX ModalPopupExtender具有OnCancelScriptOnOkScript属性,但它似乎并不有一个OnShowScript属性.我想指定每次弹出窗口时运行的javascript函数.

在过去的情况下,我设置TargetControlID为一个虚拟控件并提供我自己的控件,首先执行一些JS代码,然后使用JS方法显示弹出窗口.但在这种情况下,我将显示客户端和服务器端代码的弹出窗口.

有人知道这样做的方法吗?

顺便说一下,我需要这个,因为我在模态中有一个文本框,我想制作一个TinyMCE编辑器.但是TinyMCE init脚本不适用于隐形文本框,因此我必须找到一种方法来在模式显示时运行它

javascript asp.net asp.net-ajax

34
推荐指数
3
解决办法
3万
查看次数

如何在curl.exe的-d参数中发送双引号?

如何使用-d参数中的curl.exe发送双引号char.我不想对双引号进行URL编码.由于-d数据需要用双引号括起来,我似乎无法使其工作.

或者是否有curl.exe的另一个标志,告诉它使用整个表单发布数据的文件内容?

windows curl

32
推荐指数
4
解决办法
5万
查看次数

如何知道DOM元素何时移动或调整大小

我想知道是否有一个要侦听的DOM事件告诉我DOM元素移动时是重新定位还是在页面上调整大小.我不是在谈论被拖放的元素.一个例子是如果一个页面上有三个项目的列表,我使用JS从页面中删除前两个列表项之一(或隐藏它或其他),我想附加一个处理程序来运行时第三个列表项在页面中向上移动.

我正在使用jQuery,所以可以接受简单的javascript或jQuery答案.

也许在元素级别没有移动/位置/调整大小事件,所以如果有一个页面/ doc级别事件会告诉我页面被重新绘制,我可以检查是否需要再次调用一个函数?

背景

我在一个元素上放置了一个透明div,同时调用webservice来删除该元素.由于我需要绝对定位覆盖div,我希望它能够跟踪它最初覆盖的元素.实际上将其锚定到基本元素.

javascript jquery dom-events

26
推荐指数
2
解决办法
3万
查看次数

关闭某些元素的jQuery UI工具提示

为简单起见,我想在页面的所有元素上启用jQuery UI工具提示小部件:

然后为某些元素或元素及其后代禁用它.但这似乎不起作用:

$(document).tooltip({ track: true });
$('#menu *[title]').tooltip({ disabled: true });
Run Code Online (Sandbox Code Playgroud)

我的$('#menu *[title]')选择器似乎按照我的预期工作,获得所有具有#menu元素的title属性的后代元素.

那么为什么禁用选项不能.tooltip({ disabled: true });在这些元素上禁用工具提示呢?有没有其他方法和/或更好的方法来实现这一目标?

jquery-ui tooltip

21
推荐指数
2
解决办法
4万
查看次数