小编Paw*_*iya的帖子

$(window).height()vs $(document).height

我有错误的高度问题

$(window).height();
Run Code Online (Sandbox Code Playgroud)

并在这里得到了类似的问题

在我的情况下,当我尝试

$(document).height();
Run Code Online (Sandbox Code Playgroud)

它似乎给我正确的结果

窗口高度返回320

而文件高度返回3552!

我也发现了这个问题

但在我的情况下窗口已经完全加载,因为我在几次ajax操作后调用高度函数

那么了解当前窗口高度的最佳方法是什么?

编辑:

在此输入图像描述 在此输入图像描述

jquery

57
推荐指数
4
解决办法
19万
查看次数

Javascript:如何将getter添加到现有对象

我可以像这样在JavaScript对象中使用getter

var member = {
    firstName:"XYZ", 
    lastName:"zzz", 
    get fullName(){ return (this.firstName + ' ' + this.lastName); }
}
Run Code Online (Sandbox Code Playgroud)

我甚至可以像这样添加更多属性

member.isGuest = true;
Run Code Online (Sandbox Code Playgroud)

但是有什么方法可以将getter添加到已有的对象中吗?像这样的东西

member.isGuest = get isGuest(){ return this.firstName=='Guest'; }
Run Code Online (Sandbox Code Playgroud)

javascript

38
推荐指数
2
解决办法
8003
查看次数

正确的方法来锁定字典对象

在我的代码中,我有一个静态字典对象

private static IDictionary< ConnKey, DbConnection > ConnectionList = new Dictionary< ConnKey, DbConnection >( );
Run Code Online (Sandbox Code Playgroud)

这就是抛出这个错误

System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
  at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
Run Code Online (Sandbox Code Playgroud)

我搜索并发现这是因为多个线程尝试访问字典,但我确实lock在字典上

lock( ConnectionList ) {
   ConnectionList.Add( key, res );
}
Run Code Online (Sandbox Code Playgroud)

然后我搜索了更多,发现字典上的锁并没有阻止它上面的所有操作,所以我应该像这样使用lock它的SyncRoot对象来实现我想要的

lock( ((IDictionary)ConnectionList).SyncRoot) {
Run Code Online (Sandbox Code Playgroud)

但后来我搜索到使用SyncRoot不是一个好习惯

在进一步搜索中,我发现有一个ConcurrentDictionary用于此目的

  1. 那么任何人都可以建议我哪个是锁定字典的最佳方法
  2. 如果我使用ConcurrentDictionary,我仍然需要使用lock它或它将自己处理一切.
  3. 如果我必须使用锁定ConcurrentDictionary,我必须lock直接或再次使用它我必须SyncRoot为它锁定对象

提前致谢!

c# multithreading dictionary locking syncroot

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

引导程序跨度中的垂直对齐

是否有任何相关于其他跨度的引导跨度中的元素或文本的垂直对齐的工作

例如.如果我有一排并且跨度如此

<div class="row-fluid">
   <div class="span3" style="background-color:lightblue">Description</div>
   <div class="span9" style="background-color:pink">
   Lorem ipsum Lorem ipsum  Lorem ipsum  Lorem ipsum  Lorem ipsum  Lorem ipsum  Lorem ipsum  ....
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

看起来像这样

在此输入图像描述

那么有没有办法在下一个跨度高度的垂直中心显示"描述"?

twitter-bootstrap

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

选定的值不适用于SelectList

我发现了许多与此问题相关的问题和答案,但对我来说没有任何作用

我正在创建一个这样的下拉列表

@Html.DropDownListFor(m => m.SchoolYears, new SelectList(Model.SchoolYears, "YearId", "StartDates", Model.CurrentYearId), new { @class = "field_Dropdown", style = "width:100px;",onchange="return searchStudents();" })
Run Code Online (Sandbox Code Playgroud)

(Model.CurrentYearId属于类型int)

但它永远不会让当年选中.

从这篇文章中,我得到了我们应该使用字符串来选择值(虽然我不知道为什么因为它允许对象为选定值)

DropDownList SelectList SelectedValue问题

所以我尝试了所有这些变化

new SelectList(Model.SchoolYears, "YearId", "StartDates", Model.CurrentYearId.ToString())

new SelectList(Model.SchoolYears, "YearId", "StartDates", 2)

new SelectList(Model.SchoolYears, "YearId", "StartDates", "2")
Run Code Online (Sandbox Code Playgroud)

但他们甚至没有工作.

有办法通过linq查询或foreach循环创建选择列表并标记每个项目的选定属性,但为什么上述不起作用?

asp.net-mvc selectlist html.dropdownlistfor

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

如何从包含AM/PM的日期字符串创建日期对象?

有没有办法用AM/PM值定义javascript日期对象?

像这样的东西

var startDate = new Date("1900-1-1 8:20:00 PM");
Run Code Online (Sandbox Code Playgroud)

javascript date

10
推荐指数
1
解决办法
6591
查看次数

检查是否可以读取文件

这就是我试图检查是否可以在实际读取之前读取文件的方法

FileStream stream = new FileStream();
try
{
   // try to open the file to check if we can access it for read
   stream = File.Open(this.DataSourceFileName, FileMode.Open, FileAccess.Read);
}
catch (IOException ex)
{
   return false;
}
finally
{
   stream.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?

File.Open类似于File.ReadAllText,我的意思是,它们的性能同样昂贵吗?

c# io file-io

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

Select2在bootstrap模式中不起作用

我正在尝试使用select2内部引导模式但它不会自动获得焦点以及向下和向上箭头不适用于填充列表.

当我把它放在模态弹出窗口之外时,同样的select2工作.

当我搜索时,我发现很多人都遇到了同样的问题并发现了这篇文章

嵌入在引导模式中时,Select2不起作用

我实现了它的两个解决方案

  1. tabindex从模态弹出窗口中删除.
  2. enforceFocusmodal.js文件中注释的函数代码.

但它仍然无法正常工作!知道我还能错过什么吗?

EDIT1

它适用于firefox何时tabindex从模态div中删除但不是IE9

EDIT2

我发现删除tabindex实际上没有得到认可,IE9因为我仍然可以通过IE中的转义键隐藏弹出窗口,但不会隐藏在Firefox中.

jquery-select2

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

C# async/await 如果仍然等待前面的执行完成,有什么好处呢?

我尝试阅读 stackoverflow 中有关 的实际使用的许多文章和问题async/await,因此基本上是异步方法调用,但不知何故我仍然无法解码它如何提供并行性和非阻塞行为。我参考了一些这样的帖子

几乎所有地方都可以使用 async/await 吗?

https://news.ycombinator.com/item?id=19010989

使用 async 和await 关键字的好处

所以如果我写一段这样的代码

var user = await GetUserFromDBAsync();
var destination = await GetDestinationFromDBAsync();
var address = await GetAddressFromDBAsync();
Run Code Online (Sandbox Code Playgroud)

尽管这三个方法都是异步的,但代码仍然不会转到第二行从数据库获取,直到完全从数据库destination获取。user

那么这里的并行性和非阻塞行为在哪里呢asyn/await?在执行下一行之前,它仍然等待完成第一个操作。

或者我对异步的总体理解是错误的?

编辑

任何例子都会很有帮助!

c# asynchronous async-await

8
推荐指数
1
解决办法
730
查看次数

根据条件确定要连接的表

我不确定我是否错过了正确的搜索,但我无法得到我的确切问题

这是类似但不准确的

/sf/ask/807354551/

实际上我想根据传递给存储过程的参数来决定加入哪个表,case when但是没有用

的种类

select * from Table1 
       left join (case when @Parameter<>NULL Then Table2 else Table3 end) final
       on Table1.Col1 = final.Col1
Run Code Online (Sandbox Code Playgroud)

表2和表3具有相同的结构

sql-server stored-procedures

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