使用jquery自动完成插件时,当用户没有选择列表中的项目,而是键入有效值和标签时,您会怎么做?
例如,当自动完成列表包含:
Cat
Dog
Fish
Run Code Online (Sandbox Code Playgroud)
用户输入cat,但不Cat从自动填充的下拉列表中选择,而是选项卡.因为他们没有从列表中选择任何项目,所以自动完成选择事件不会触发,我们将无法响应它:
$('#Animal').autocomplete({
source: url,
minlength: 1,
select: function (event, ui) {
$("#Animal").val(ui.item.value);
changeUsersAnimal(ui.item.id);
}
});
Run Code Online (Sandbox Code Playgroud)
我该如何处理这个案子?
我试图确保某个页面永远不会被缓存,并且在用户单击后退按钮时从不显示. 这个非常高评价的答案(目前1068支票)说使用:
Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate");
Response.AppendHeader("Pragma", "no-cache");
Response.AppendHeader("Expires", "0");
Run Code Online (Sandbox Code Playgroud)
但是在IIS7/ASP.NET MVC中,当我发送这些头时,客户端会看到这些响应头:
Cache-control: private, s-maxage=0 // that's not what I set them to
Pragma: no-cache
Expires: 0
Run Code Online (Sandbox Code Playgroud)
缓存控制头怎么了?IIS7或ASP.NET本机的内容是否会覆盖它?我检查了我的解决方案,我没有覆盖此标头的代码.
当我Response.Headers.Remove("Cache-Control");首先添加时,它没有任何区别:
Response.Headers.Remove("Cache-Control");
Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate");
Response.AppendHeader("Pragma", "no-cache");
Response.AppendHeader("Expires", "0");
Run Code Online (Sandbox Code Playgroud)
当我添加一个[OutputCache]属性时:
[OutputCache(Location = OutputCacheLocation.None)]
public ActionResult DoSomething()
{
Response.Headers.Remove("Cache-Control");
Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate");
Response.AppendHeader("Pragma", "no-cache");
Response.AppendHeader("Expires", "0");
var model = DoSomething();
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
然后客户端响应标头更改为:
Cache-control: no-cache
Pragma: no-cache
Expires: 0
Run Code Online (Sandbox Code Playgroud)
哪个更接近,但仍然不是我要发送的标题.这些标题在哪里被覆盖,我该如何阻止它?
编辑:我已经检查过,错误的标题被发送到Chrome,FF,IE和Safari,所以它看起来是一个服务器问题,而不是浏览器相关的问题.
是否可以在jqgrid中对齐网格列标题?例如对齐左右还是中心?
在jqrid文档http://www.trirand.com/jqgridwiki/doku.php?id=wiki:colmodel_options中说:
align: Defines the alignment of the cell in the Body layer, not in header cell.
Possible values: left, center, right.
Run Code Online (Sandbox Code Playgroud)
请注意,它表示"不在标题单元格中".如何为标题单元格(网格标题单元格)执行此操作?文档没有提到这个小细节....
是否有计划使Dapper.net与IQueryable接口兼容?如果没有,使用Dapper与"表达式树"过滤器的解决方法是什么?
在我的几个项目的解决方案中,我试图将PlatformAny CPU 更改为x86.但是x86不在下拉列表中.为了能够选择x86,我需要做什么?
我需要更改为x86,因为System.BadImageFormatException这个问题:构造System.Data.SQLite.SQLiteConnection时导致System.BadImageFormatException的原因是什么

并且,在一个可能相关的问题中,解决方案中的最新项目缺少配置下拉列表中的一个配置:

它应该像所有其他项目一样具有"暂存"配置,但不是.我该如何添加?
编辑:
如果我选择"新建..."选项,那么它会要求我从"任何CPU"复制.如果我从"任何CPU"复制,是不是与首先使用"任何CPU"相同?

我一直在谷歌搜索这个不停的2天,并且找不到一个完整的,可以使用的,完全实现的生成DataAnnotations的t4模板.他们甚至存在吗?
我使用标准t4模板生成POCO.实际的数据库表具有描述一些验证规则的元数据,例如not null,nvarchar(25)等.
所以我想要的是一个t4模板,可以使用我的表并生成带有 DataAnnotations 的POCO ,例如
public class Person
{
[Required]
[StringLength(255)]
public FirstName {get;set}
}
Run Code Online (Sandbox Code Playgroud)
这是一个基本的和基本的要求,当然我不能成为全世界第一个有这个要求的人吗?我不想在这里重新发明轮子.然而,经过几天的高低搜索,我还没有找到它.
这必须是可能的(并且希望必须在某处才可以下载) - 当数据库中已经存在这些注释的元数据时,必须手动输入这些注释是犯罪上的错误.
我目前使用Web Deploy,http: //learn.iis.net/page.aspx/346/web-deploy/来发布我的MVC2应用程序.它曾经运作良好,但现在它已经达到我无法继续使用它的程度:
当MVC应用程序很小并且只有少数用户时,它很容易发布.只需在Visual Studio中右键单击该项目,然后选择"发布".而且因为只有少数用户很容易找到没有人使用该网站进行快速更新的时间.
然后应用程序变得更大,并有更多的用户."发布"操作开始时间越来越长,偶尔会超时.即使我在部署之前回收了应用程序池,它仍然需要很长时间.
此外,当没有人使用该网站时,更难找到时间,因此可以在不影响任何人的情况下完成更新.
然后"发布"操作每次都开始计时,我不得不根据之前未解决的问题切换到手动部署:Visual Studio 2010 - Web部署超时 - 该怎么办?
现在手动部署需要更长时间,从5分钟到20分钟.并且用户数量显着增长,因此部署总是会影响某人(响应时间慢,超时,站点不可用等)
那我该怎么办?有没有比使用Web部署更好的替代方案?
编辑:
今天的部署花了18分钟才发布了49个已更改的文件.这种情况很荒谬,是我们网站目前最大的弱点之一.因此,我希望能够解决这个问题,从而获得了不错的奖金.
还有一些可能导致解决方案的问题:
回答答案:
回复:http://www.troyhunt.com/2010/11/you-deploying-it-wrong-teamcity_24.html这正是我进行部署的方式,也是一种理想的方法.Web部署可以正确识别哪些文件已更改,但它会超时并且不会发生发布.解决方案中大约有2500个文件,可能需要很长时间才能确定哪些文件发生了变化?或者可能是发布的超时值很短,只需上传15mb的zip文件即可使用所有时间.
我确实可以完全控制服务器,它确实支持Web部署.实际上有2台服务器:主服务器和冗余服务器,我们会在第一次服务器崩溃时做好准备.因此,任何解决方案都必须易于部署到多个服务器(Web部署是理想的,直到它停止工作).
为每个版本创建一个新文件夹,然后只是将IIS更改为指向该新文件夹的建议听起来像是在发布期间会导致更短的停机时间/慢速时间.但这是一个非常手动的过程,我更喜欢更自动化的东西.
编辑#2
我已经设法缩小它,并找到它确切的缓慢 - 但不是为什么.这来自部署日志:
[9/02/2011 12:11:56 a.m.] Performing synchronization pass #1.
[9/02/2011 12:11:56 a.m.] Parameter entry 'IIS Web Application Name/1' is applicable to 'iisApp/C:\src\Site.2010\Site.UI\obj\Release\Package\PackageTmp' because of its scope.
[9/02/2011 12:11:56 a.m.] Parameter entry 'IIS Web Application Name/2' is applicable to 'setAcl/C:\src\Site.2010\Site.UI\obj\Release\Package\PackageTmp' because of its scope. …Run Code Online (Sandbox Code Playgroud) deployment asp.net-mvc performance web-deployment-project visual-studio
TL; DR; 如何创建一个将另一个测试调用为第一步的specflow测试?
Given I already have one specflow test
And I want to run another test that goes deeper than the first test
Then I create a second test that runs the first test as its first step
And I add additional steps to test the deeper functionality
Run Code Online (Sandbox Code Playgroud)
对不起,那里有一点点幽默幽默.
例如,我已经有一个测试可以创建销售:
Given I want to create a sales order
And I open the sales order page
And I click the add new order button
Then a new sales order is …Run Code Online (Sandbox Code Playgroud) 我有一种情况我无法改变:一个数据库表(表A)接受6个小数位,而另一个表(表B)中的相关列只有3个小数位.
我需要从A复制到B,但如果A的小数位数超过3,则额外数据将丢失.我无法更改表定义,但我可以添加一个解决方法.所以我试图找出如何检查小数是否超过3位小数?
例如
Table A
Id, Qty, Unit(=6dp)
1, 1, 0.00025
2, 4000, 0.00025
Table B
Id, TotalQty(=3dp)
Run Code Online (Sandbox Code Playgroud)
我希望能够找出表A中的Qty*Unit是否超过3位小数(第1行会失败,第2行会通过):
if (CountDecimalPlaces(tableA.Qty * tableA.Unit) > 3)
{
return false;
}
tableB.TotalQty = tableA.Qty * tableA.Unit;
Run Code Online (Sandbox Code Playgroud)
我该如何实现这个CountDecimalPlaces(decimal value) {}功能?
我已经阅读了很多关于ASP.NET MVC的问题[RequireHttps]- 但是找不到这个问题的答案:
[RequireHttps]如果不是https开始,如何使属性将URL切换为https?
我有这个代码:
public ActionResult DoSomething()
{
return View("AnotherAction");
}
[RequireHttps]
public ActionResult AnotherAction()
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误说:"所请求的资源只能通过SSL访问."
MVC期货项目具有类似的属性[RequireSsl(Redirect = true)].但现在已经过时了...... MVC 2中的等价物是什么?
当有人类型的网址http://example.com/home/dosomething或网址http://example.com/home/anotheraction,我需要他们被自动重定向到http 小号://示例.com /家/ anotheraction
编辑这是一系列事件:
从其他网站调用URL http://example.com/home/dosomething.他们将用户重定向到此网址(使用response.redirect或类似网址).
DoSomething()然后尝试返回AnotherAction(),但失败并显示错误消息"所请求的资源只能通过SSL访问".
c# ×7
asp.net-mvc ×2
jquery ×2
asp.net ×1
dapper ×1
decimal ×1
deployment ×1
dry ×1
http-headers ×1
iis-7 ×1
jqgrid ×1
jquery-ui ×1
lambda ×1
performance ×1
requirehttps ×1
specflow ×1
ssl ×1
unit-testing ×1