小编Jos*_*eph的帖子

如何使用jQuery检查DOM是否相等?

我基本上构建一个简单的列表,并选择列表中的一个项目.我通过将"选定"类应用于我想要选择的任何项目来完成此操作.我有两个前进和后退的按钮遍历此列表.但是,当用户到达列表中的第一个或最后一个元素时,我想回复一个帖子.这就是我被困住的地方,因为我无法确定当前所选项目不是第一个或最后一个.

简单示例:

<div id="list">
    <p>item 1</p>
    <p>item 2</p>
    <p class="selected">item 3</p>
</div>
Run Code Online (Sandbox Code Playgroud)

假设用户按下下一个按钮,此时我正在检查类似于此的内容:

if (jQuery('#list p.selected') == jQuery('#list p:last-child'))
    //do post back
Run Code Online (Sandbox Code Playgroud)

然而,这种逻辑正在返回虚假,这使我相信我正以错误的方式接近这一点.

使用jQuery检查这种逻辑的最佳方法是什么?

jquery

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

ASP .NET MVC中的Authorize属性是用于身份验证还是授权?

我正在阅读ASP .NET MVC,我刚才谈到了Authorize属性.它说Authorize属性用于检查用户是否针对Controller进行了身份验证.这是真的?我知道该属性旨在用于授权目的,但使用此属性进行身份验证也是最佳做法吗?

如果不是,验证(不执行)身份验证的最佳做法是什么?

如果是这样,为什么这样做?我错过了什么吗?

authentication asp.net-mvc authorization

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

检查MySQL Float字段是否相等

我有一个Joomla系统,我正在尝试更改搜索,以便它正确地在数据库中找到浮点值.

所以,我有一个在运行时构建的查询,如下所示:

select 'column1'
from 'some_table'
where 'some_float_field' <=> '2.18'
Run Code Online (Sandbox Code Playgroud)

这不起作用,它永远不会匹配任何东西,即使我在db中看到带有此值的记录.

所以我试着这样做:

select 'column1'
from 'some_table'
where 'some_float_field' <=> 2.18
Run Code Online (Sandbox Code Playgroud)

没有运气,所以然后我尝试转换为小数(浮动因某些原因不起作用),所以我尝试了这个:

select 'column1'
from 'some_table'
where 'some_float_field' <=> CAST('2.18' AS DECIMAL(20, 2))
Run Code Online (Sandbox Code Playgroud)

没有骰子...

请记住> =或<=返回正确的结果,只是<=>给我提出问题.

我如何在这里工作平等?

mysql floating-point

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

为什么HttpUtility.UrlEncode(HttpUtility.UrlDecode("%20"))返回+而不是%20?

我遇到文件下载问题,下载正在用下划线替换所有空格.

基本上我在这里遇到问题:

Response.AddHeader("Content-Disposition", 
    "attachment; filename=" + someFileName);
Run Code Online (Sandbox Code Playgroud)

问题是如果someFileName中有一个空格,例如"check this out.txt",则会提示用户下载"check_this_out.txt".

我认为最好的选择是UrlEncode文件名,所以我试过

HttpUtility.UrlEncode(someFileName);
Run Code Online (Sandbox Code Playgroud)

但它正在用加号取代空间,这让我很难过.那么我就试过了

HttpUtility.UrlEncode(HttpUtility.UrlDecode("%20"))
Run Code Online (Sandbox Code Playgroud)

并且解码工作正常并给我一个空间,但编码占用空间然后再次给我加号.

我在这里缺少什么,这是正确的吗?如果是这样,我应该如何正确地将空格编码为%20,这就是我需要的.

asp.net encoding response

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

可以多次使用google.setOnLoadCallback吗?

我正在使用ASP.NET MVC构建一个站点,我有部分视图使用jQuery来做各种事情.我想改用Google的AJAX API并使用他们的加载器加载jQuery.但是,我注意到我再也无法使用$(document).ready()了,因为Google的加载程序指定了一个回调google.setOnLoadCallback().

这对我来说有点问题,因为我有$(document).ready()各种部分视图,因为他们做了不同于自己的事情,我不希望父视图知道.

我可以指定多个回调,只是换出$(document).ready()用的google.setOnLoadCallback(someUniqueCallbackFunction)

这是处理这种情况的理想方式还是还有其他优先选择?

asp.net-mvc jquery google-ajax-api

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

是否有必要在我的响应头中设置Content-Length?

我正在审查一些遗留代码,我发现了一个导致响应无限期的错误.

这是基本的想法:

Response.Content-Type = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename" & someFileName)
Response.AddHeader("Content-Length", someStoredLength)
Response.BinaryWrite(someByteArray)
Response.Flush()
Response.End()
Run Code Online (Sandbox Code Playgroud)

问题是someStoredLength比someByteArray的实际大小大得多,所以客户端只是坐在那里等待文件下载,而浏览器只是旋转.

我正在考虑删除指定内容长度的AddHeader,因为当我这样做时,一切似乎工作正常,但我担心我不理解某些东西.

我可以删除这个AddHeader,还是应该找到一个更好的方法来解决这个问题?

vb.net http response download

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

在回收应用程序池时强制应用程序启动的最佳方法是什么?

我想知道是否有办法在网站的应用程序池被回收时自动为网站/应用程序启动应用程序启动?

这个问题有罐装解决方案吗?

我真的想避免让我的一个最终用户必须通过网站的应用程序启动,如果他们可以避免它.

.net application-pool application-start recycle

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

在选择聚合时,如何处理Linq到NHibernate的Fetch异常?

我在asp.net mvc Grid(具体是telerik)上使用LINQ到NHibernate的IQueryable实现,我知道我需要为这个特定的网格急切地获取一些东西.

所以我的查询看起来像这样:

var query =  from s in repository.Query<MyClass>()
                     orderby s.Property.Name, s.Name
                     select s;

query = query.Fetch(x => x.Property);
Run Code Online (Sandbox Code Playgroud)

现在,如果我执行query.ToList(),一切都很好,我可以验证它在集成测试中是否有效.

这很棒.

但是,如果我执行query.Count()或其他聚合查询的东西,我会得到一个异常:

查询指定的连接提取,但是提取的关联的所有者在选择列表中不存在[FromElement {显式,不是集合连接,获取连接,获取非延迟属性,classAlias = 0,role =,tableName = [Property] ,tableAlias = property1,origin = MyClass myclass0_,colums = {myclass0_.PropertyGuid,className = Property}}] [.Count(.Fetch(.ThenBy(.OrderBy(NHibernate.Linq.NhQueryable`1 [MyClass],Quote(( s,)=>(s.Property.Name)),),Quote((s,)=>(s.Name)),),Quote((x,)=>(x.Property)),), )]

我知道它试图告诉我,我不能急于获取Property,因为MyClass不在select中,但问题是Count()实际上是通过Grid调用的,并且从我的代码外部处理.

我应该做的就是给网格一个IQueryable,它应该能够自己处理分页,排序等.

还有其他人不得不用NHibernate Fetching解决这个问题,你是如何解决它的?

linq-to-nhibernate eager-loading asp.net-mvc-2

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

如果禁用MSDTC,如何绕过TransactionScope内的多个数据库连接?

我有一个Web应用程序,它向DAL中的3个数据库发出请求.我正在编写一些集成测试,以确保整个功能往返实际上完成了我期望它做的事情.这与我的单元测试完全分开,只是fyi.

我打算写这些测试的方式是这样的

[Test]
public void WorkflowExampleTest()
{
    (using var transaction = new TransactionScope())
    {
        Presenter.ProcessWorkflow();
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,Presenter已经建立.问题在ProcessWorkflow方法中发挥作用,因为它调用各种存储库,而这些存储库又访问不同的数据库,而我的sql server框没有启用MSDTC,所以每当我尝试创建新的sql连接时,我都会收到错误,或者尝试更改缓存连接的数据库以定位另一个数据库.

为简洁起见,Presenter类似于:

public void ProcessWorkflow()
{
    LogRepository.LogSomethingInLogDatabase();
    var l_results = ProcessRepository.DoSomeWorkOnProcessDatabase();
    ResultsRepository.IssueResultstoResultsDatabase(l_results);
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多东西来解决这个问题.

  1. 始终缓存一个活动连接并更改目标数据库
  2. 为每个目标数据库缓存一个活动连接(这有点无用,因为池应该为我做这个,但我想看看我是否得到不同的结果)
  3. 在每个存储库中添加其他TransactionScope,以便使用TransactionScopeOption"RequiresNew"拥有自己的事务

我在列表上的第三次尝试看起来像这样:

public void LogSomethingInLogDatabase()
{
    using (var transaction = 
        new TransactionScope(TransactionScopeOption.RequiresNew))
    {
        //do some database work

        transaction.Complete();
    }
}
Run Code Online (Sandbox Code Playgroud)

实际上我尝试的第三件事实际上是让单元测试工作,但所有完成的事务实际上都是我的数据库!所以这是一个彻头彻尾的失败,因为整个观点是不影响我的数据库.

因此,我的问题是,鉴于我已经制定的限制,还有哪些其他选择可以实现我想要做的事情?

编辑:

这就是"//做一些数据库工作"的样子

using (var l_context = new DataContext(TargetDatabaseEnum.SomeDatabase))
{
    //use a SqlCommand here
    //use a SqlDataAdapter inside the SqlCommand
    //etc.
}
Run Code Online (Sandbox Code Playgroud)

并且DataContext本身看起来像这样

public class …
Run Code Online (Sandbox Code Playgroud)

c# sql-server transactions asp.net-2.0

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

javascript似乎使用Firefox向后使用时区

我在Firefox(版本21)的控制台中运行以下内容,我得到了我不期望的结果.

new Date(1362891600000);

var date = new Date(1362891600000);
var time = date.getHours();
new Date(date.setHours(date.getHours() + 24));
Run Code Online (Sandbox Code Playgroud)

结果真的让我失去了一个循环.

第一个日期显示为东部夏令时,而第二个日期显示为东部标准时间.这完全倒退了.IE或Chrome不会发生这种情况.

这里发生了什么? 在此输入图像描述

javascript datetime dst

6
推荐指数
1
解决办法
1125
查看次数