我基本上构建一个简单的列表,并选择列表中的一个项目.我通过将"选定"类应用于我想要选择的任何项目来完成此操作.我有两个前进和后退的按钮遍历此列表.但是,当用户到达列表中的第一个或最后一个元素时,我想回复一个帖子.这就是我被困住的地方,因为我无法确定当前所选项目不是第一个或最后一个.
简单示例:
<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检查这种逻辑的最佳方法是什么?
我正在阅读ASP .NET MVC,我刚才谈到了Authorize属性.它说Authorize属性用于检查用户是否针对Controller进行了身份验证.这是真的?我知道该属性旨在用于授权目的,但使用此属性进行身份验证也是最佳做法吗?
如果不是,验证(不执行)身份验证的最佳做法是什么?
如果是这样,为什么这样做?我错过了什么吗?
我有一个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)
没有骰子...
请记住> =或<=返回正确的结果,只是<=>给我提出问题.
我如何在这里工作平等?
我遇到文件下载问题,下载正在用下划线替换所有空格.
基本上我在这里遇到问题:
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 MVC构建一个站点,我有部分视图使用jQuery来做各种事情.我想改用Google的AJAX API并使用他们的加载器加载jQuery.但是,我注意到我再也无法使用$(document).ready()
了,因为Google的加载程序指定了一个回调google.setOnLoadCallback()
.
这对我来说有点问题,因为我有$(document).ready()
各种部分视图,因为他们做了不同于自己的事情,我不希望父视图知道.
我可以指定多个回调,只是换出$(document).ready()
用的google.setOnLoadCallback(someUniqueCallbackFunction)
?
这是处理这种情况的理想方式还是还有其他优先选择?
我正在审查一些遗留代码,我发现了一个导致响应无限期的错误.
这是基本的想法:
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,还是应该找到一个更好的方法来解决这个问题?
我想知道是否有办法在网站的应用程序池被回收时自动为网站/应用程序启动应用程序启动?
这个问题有罐装解决方案吗?
我真的想避免让我的一个最终用户必须通过网站的应用程序启动,如果他们可以避免它.
我在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解决这个问题,你是如何解决它的?
我有一个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)
我已经尝试了很多东西来解决这个问题.
我在列表上的第三次尝试看起来像这样:
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) 我在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不会发生这种情况.
这里发生了什么?
asp.net-mvc ×2
jquery ×2
response ×2
.net ×1
asp.net ×1
asp.net-2.0 ×1
c# ×1
datetime ×1
download ×1
dst ×1
encoding ×1
http ×1
javascript ×1
mysql ×1
recycle ×1
sql-server ×1
transactions ×1
vb.net ×1