小编Phi*_*ale的帖子

如何在不使用Javascript的情况下阻止.NET MVC中的多个表单提交?

我想阻止用户在.NET MVC中多次提交表单.我已经尝试了几种使用Javascript的方法,但很难在所有浏览器中使用它.那么,如何在我的控制器中防止这种情况呢?在某种程度上可以检测到多个提交?

asp.net-mvc

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

我怎么告诉TortoiseHg文件不是二进制文件?

有人最近在我们的Mercurial存储库中添加了PowerShell(.ps1)脚本.该文件是纯文本,但TortoiseHg似乎认为它是二进制文件并显示一条消息:"文件或差异未显示:文件是二进制文件".

如何告诉TortoiseHg ps1文件是文本而不是二进制文件.我正在使用版本TortoiseHg 2.0.3

diff binaryfiles tortoisehg

25
推荐指数
2
解决办法
3865
查看次数

多个功能分支和持续集成

我最近一直在阅读关于持续集成的一些内容,并且有一种情况可能会发生,我不明白如何正确处理.

我们有一个稳定的主线/中继分支,并为功能创​​建分支.每个开发人员将通过定期从主干到其分支合并来保持自己的功能分支最新.但是,完全有可能在几周或几个月的时间内创建并处理两个或更多个功能分支.在这个时候,可以部署许多版本的软件.这就是我的困惑所在.

一个功能分支的更改很可能会导致与其他功能分支的合并冲突.CI建议您至少应每天合并到主干中,以便快速解决冲突.但是,您可能不希望将功能代码合并到主干中,因为它可能尚未完成,或者您可能不希望在下一版本中提供该功能.那么,您如何处理这种情况并仍然遵循日常代码集成的CI原则?

continuous-integration

20
推荐指数
2
解决办法
6191
查看次数

使用TortoiseHg提交后是否可以编辑摘要?

偶尔我会向存储库提交一些代码,添加注释/摘要,然后阅读摘要,并意识到我犯了一个错误或应该包含更多信息.在TortoiseHg中提交后可以编辑摘要吗?我正在使用1.1版

tortoisehg

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

使用Ninject 2.2更改默认对象范围

是否可以在Ninject 2.2中更改默认对象范围?如果是这样,它是如何完成的?

ninject

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

有效使用.NET中的功能切换的工具和技术

我已经阅读了很多关于功能切换但没有使用它们的实际经验.人们推荐哪些工具和技术来有效管理功能切换?

我想最简单的方法是将web.config文件中的切换作为true/false值存储为appSettings,但这听起来不是特别好的方法.

理想情况下,我希望任何管理功能的方法切换为:

  • 标记删除时切换的任何用途.例如编译错误
  • 突出显示任何旧切换.即功能发布后仍然存在的切换

.net continuous-integration featuretoggle

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

NHibernate标准API - 如何添加一个子句来比较一个日期与另一个日期减去一个值

我正在尝试使用NHibernate构建一个标准对象,它将date1与date2相比减去一个值.在Sql Server中我会这样做:

select*from table where date1 <DateAdd(Day,2,date2)

任何人都可以告诉我如何在NHibernate中做到这一点?

干杯

编辑

我之前应该已经指定了这个,我想知道如何使用条件API来做到这一点.

此外,date1和date2是表中的列,因此在运行查询之前我不知道它们的值

nhibernate criteria

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

ASP.NET MVC4正则表达式模型验证属性不适用于带有重音字符的客户端

在ASP.NET MVC 3项目中,我需要验证视图中的名称字段以允许特定的集合重音字符.所以在我的视图模型中,我在相应的属性上定义了一个正则表达式属性,如下所示:

[RegularExpression("^[a-zA-Zá]{2,50}$")]
Run Code Online (Sandbox Code Playgroud)

请注意,这不是确切的代码,它简化了以使我的问题更容易理解.

这个正则表达式在服务器端工作正常,但在客户端不起作用.如果查看输入字段的HTML,则包含以下属性:

data-val-regex-pattern="^[a-zA-Z&amp;#225;]{2,50}$"
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,重音字符已转换为HTML实体,该实体会破坏正则表达式.任何人都可以告诉我为什么会发生这种情况以及如何解决这个问题?

UPDATE

道歉我是一个完整的白痴.我完全忘记了几天前我们升级到MVC 4测试版.随后我创建了两个小的测试项目,一个在MVC 3中,一个在MVC 4中.这个问题只存在于MVC 4中.

regex jquery-validate asp.net-mvc-4

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

选择日期后,jQuery UI datepicker会使屏幕滚动到顶部

我在jQuery对话框中有几个jQuery日期选择器.每当用户从日期选择器中选择日期时,屏幕就会滚动到顶部.这只发生在IE8而不是Firefox 3.6或Chrome 5.由于大多数用户将使用IE,这将非常烦人.任何人都可以给我一个线索,为什么会发生这种情况?

以下是对话框的HTML代码段:

 <div id="AppointmentDialog" style="display: none; font-size: 12px;">
    <table>
        <tr class="lesson notAvailable allDay">
            <td>
                Start
            </td>
            <td>
                <input id="txtStartDate" type="text" readonly="readonly" style="width: 90px" class="lesson notAvailable allDay" />
                <input id="txtStartTime" type="text" style="width: 50px" class="lesson notAvailable" />
                <input id="hidStartTime" type="hidden" value="" />
            </td>
        </tr>
        <tr class="notAvailable allDay">
            <td>
                End
            </td>
            <td>
                <input id="txtEndDate" type="text" readonly="readonly" style="width: 90px" class="notAvailable allDay" />
                <input id="txtEndTime" type="text" style="width: 50px" class="notAvailable" />
                <input id="hidEndTime" type="hidden" value="" />
            </td>
        </tr>
    </table>
</div>
Run Code Online (Sandbox Code Playgroud)

用于初始化对话框和日期选择器的Javascript片段:

$(document).ready(function() {
    initDialogs(); …
Run Code Online (Sandbox Code Playgroud)

jquery-ui

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

如果视图已更改,请使用TeamCity启用MvcBuildViews

脚本

我们有TeamCity 8.1.3构建每个拉取请求.GitHub报告了构建失败.这很棒.但是没有查看视图错误.这是不好的.我可以全面启用MvcBuildViews,但我不愿意,因为我们的解决方案非常庞大,而且编译时间大约是三倍.

我想做的是只有在PR中的提交中更改了视图时才启用MvcBuildViews.例如,如果有人更改.cs文件,则正常编译.如果更改.cshtml文件,则启用MvcBuildViews并编译.

我试过的

我的第一次尝试使用了VCS触发器.我在TeamCity中设置了两个几乎相同的项目.唯一的区别是VCS触发器.一个构建旨在构建代码更改和其他视图更改.

代码更改触发器规则:-:\**.cshtml+:**.cs

查看更改触发器规则: +:**.cshtml

这不像我希望的那样有效.在同一分支上提交.cs文件和.cshtml文件将触发两个构建.

我的第二次尝试是使用PowerShell构建步骤.我想知道PowerShell是否可用于读取teamcity.build.changedFiles.file代理构建属性,确定是否已更改cshtml文件,如果是,则将MvcBuildViews设置为true.

这失败了,因为我无法弄清楚读取代理属性.我找到了这个相关的SO问题,但它没有用.

我的PS构建步骤看起来像这样.我大部分时间都在抓着稻草.

write-host "##teamcity[message text='Starting PhilTest build step']"

write-host "##teamcity[message text='Build number $env:build_number']" #Outputs build number

write-host "##teamcity[message text='Changed files $env:teamcity_build_changedFiles_file']" #Outputs nothing

foreach ($row in $env:teamcity_build_changedFiles_file)
{
    write-host "##teamcity[message text='Changed files row $row']" #Outputs nothing
}

write-host "##teamcity[message text='Ending PhilTest build step']"
Run Code Online (Sandbox Code Playgroud)

接下来是什么?

有没有人这样做过?有谁知道我以前如何尝试工作或知道另一种方法吗?

.net asp.net-mvc powershell teamcity asp.net-mvc-4

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

在TortoiseHg关闭多个分支

我使用TortoiseHg 1.1,在我们的团队中,我们倾向于为我们处理的每个案例创建命名分支,然后在完成后合并默认值.不幸的是,大多数命名分支都没有关闭.这不是一个大问题,但当您尝试按当前正在处理的分支进行过滤并且有大量旧分支要搜索时,这很烦人.

那么在TortoiseHg或命令行中有一个简单的方法可以快速关闭多个分支而无需在每个分支上手动提交和关闭吗?

mercurial tortoisehg

5
推荐指数
1
解决办法
2646
查看次数

如何使用MSBuild将文件复制到需要密码的网络共享?

我已经创建了一个MSBuild.xml文件来自动化我的ASP.NET项目构建.它构建项目,发布它,拉链并将zip复制到网络共享.如果我之前已经登录过网络文件夹,这一切都完美无缺.访问网络共享后,会记住用户名和密码,直到我退出计算机.如果我以前没有登录,则在运行构建文件时出现"失败:未知用户名或密码错误"错误.无论我以前是否访问过网络共享,我都希望构建工作始终有效.

目前我正在使用复制任务将zip文件复制到网络共享.我已经检查了复制任务文档,但我看不到任何包含凭据的方法.那么,如何将文件复制到网络共享传递所需的用户名和密码?

这是我正在使用的复制任务的示例.所有属性都在MSBuild.xml文件的顶部定义:

<Target Name="CopyToServer">
    <Copy SourceFiles="$(ReleaseFolder)\$(ZipFileName).zip" DestinationFolder="$(WebServerRoot)" />
</Target>
Run Code Online (Sandbox Code Playgroud)

msbuild msbuild-task

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