小编Mrc*_*ief的帖子

是否有可能将一种形式嵌入剃刀中?

我将开始/结束表单语句放在布局页面中,这样我就不必在几个页面上重复它.下面是代码的简化版本.

@using(Html.BeginForm())
{
    @RenderBody()

    <input type = "submit" name = "nextButton" value = "Next-->" />
}
Run Code Online (Sandbox Code Playgroud)

事情进展顺利.不幸的是,我有一个页面有几个" 删除 "按钮.我想为每个删除按钮生成一个表单,以便它可以将要删除的项目的ID发送回控制器.

知道自己已经有了另一种形式吗?

谢谢你的帮助

asp.net-mvc razor

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

从jenkins在远程服务器(windows)上运行批处理脚本

我有一个持续集成服务器(Jenkins),它构建我的代码(检查编译错误)并运行测试,然后将文件部署到远程服务器(不是war文件,但实际的文件结构)我这样做Jenkins插件允许我通过samba传输文件,它每晚都会这样做.

现在,我需要做的是在远程服务器上运行ant命令.之后,我需要在远程服务器上启动应用程序服务器,通过从命令行运行.bat文件来启动应用程序服务器.

我对如何实现这一点非常无能为力,我知道Jenkins能够运行批处理命令,但是如何让它们在服务器的上下文中运行而不是在构建服务器的上下文中运行?

windows ant deployment batch-file jenkins

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

Visual Studio - 删除未使用的文件

想知道是否有一个扩展或宏或其他东西,通过你的解决方案,并提供一个报告,其中js/css /图像文件没有在代码中的任何地方被引用?

我有一个大项目,随着时间的推移它积累了灰尘.除了手动搜索每个文件的用法外,还有其他节省时间的方法吗?

visual-studio-2010 visual-studio

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

自毁Javascript功能 - 它是如何工作的?

所以我找到了这段代码,它显然有效(因为它已经生产了多年):

window[someMethod] = function (tmp) {
    callback({prop:"val"}, tmp); 

    // Garbage collect
    window[someMethod] = undefined;
    try { 
        delete window[someMethod]; 
    } 
    catch (e) { }
    if (head) { 
        head.removeChild(script); 
    }   
    // head refers to DOM head elem and script refers to some script file elem
};
Run Code Online (Sandbox Code Playgroud)

很想知道,它是如何工作的?

  1. 它怎么能自己设置为undefined它的身体内,并trydelete自身?
  2. 是否浏览器知道不执行undefined,并delete直至通话结束?如何?
  3. 如果浏览器立即删除它,那么之后会发生什么?最后一行是否运行?
  4. 最后,你们看到这个泄漏的记忆吗?如果有,怎么样?

javascript closures

18
推荐指数
1
解决办法
3117
查看次数

Backbone.js:通过模板嵌套视图

在技​​术上是否可以使用模板嵌套视图,类似于:

<%= new PhotoCollectionView({model:new PhotoCollection(model.similarPhotos)}).render().el) %>
Run Code Online (Sandbox Code Playgroud)

我也可以将所有内容都放在渲染方法中,但模板为灵活性和布局提供了更多空间.

我尝试了前面提到的变体,但我在屏幕上得到的结果是[HTMLDivElement].

如果我尝试只提取HTML,使用jQuery的HTML,我会将其渲染,但事实证明,打印出来的DOM节点与视图引用的DOM节点不同,因为没有任何交互使用视图实例可以使用这些DOM节点.例如,如果在视图中我说$(this.el).hide(),什么都不会发生.

什么是正确的方法,如果有的话?

javascript jquery templating backbone.js

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

如何在使用asp.net标识更改当前用户的UserName后更改身份验证cookie

将asp.net身份版本1.0.0-rc1与Entity Framework 6.0.0-rc1(Visual Studio 2013 RC附带的那些)一起使用.

试图让用户有机会改变他们的UserName.似乎没有功能AuthenticationIdentityManager,所以我使用EF更改数据(获取当前用户的User对象,更改UserName并保存更改).

问题是认证cookie保持不变,下一个请求失败,因为没有这样的用户.

在过去的表单身份验证中,我使用以下代码来解决此问题.

var formsAuthCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
var isPersistent = FormsAuthentication.Decrypt(formsAuthCookie.Value).IsPersistent;
FormsAuthentication.SetAuthCookie(newUserName, isPersistent);
Run Code Online (Sandbox Code Playgroud)

我该怎么做asp.net身份更新cookie?

UPDATE

以下代码似乎更新了身份验证cookie.

var identity = new ClaimsIdentity(User.Identity);
identity.RemoveClaim(identity.FindFirst(identity.NameClaimType));
identity.AddClaim(new Claim(identity.NameClaimType, newUserName));
AuthenticationManager.AuthenticationResponseGrant = new AuthenticationResponseGrant
    (new ClaimsPrincipal(identity), new AuthenticationProperties {IsPersistent = false});
Run Code Online (Sandbox Code Playgroud)

剩下的问题是:如何IsPersistent从当前身份验证cookie中提取值?

owin asp.net-mvc-5 asp.net-identity

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

parseInt轮回错误

我偶然发现了这个问题,parseInt我不确定为什么会这样.

console.log(parseInt("16980884512690999"));   // gives 16980884512691000
console.log(parseInt("169808845126909101"));?  // gives 169808845126909100
Run Code Online (Sandbox Code Playgroud)

我明显没有达到JavaScript限制中的任何数量限制(Number.MAX_VALUE = 1.7976931348623157e+308)

如果重要的话,运行Win 7 64位.

我在俯瞰什么?

小提琴

javascript rounding

16
推荐指数
2
解决办法
3402
查看次数

添加引用列表中缺少System.Web.Http.Description

我收到一个错误:

Error   1   The type or namespace name 'Description' does not exist in the namespace 'System.Web.Http' (are you missing an assembly reference?) c:\users\klippiat\documents\visual studio 2010\Projects\TfsPortal\TfsPortal\Models\ApiModel.cs  5   23  TfsPortal
Run Code Online (Sandbox Code Playgroud)

我通常会添加参考并选择缺少的参考.但是System.Web.Http.Description从列表中遗漏了.我按名称对列表进行了排序,以确保我能够看到它.我可以看到System.Web.Http.Data和.Common等但不是.Description.

我究竟做错了什么?

asp.net-mvc-4 asp.net-web-api

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

如何在javascript全局命名空间中存根/模拟一个函数

我正在尝试在测试期间存根/模拟/覆盖函数调用,这会将日志写入数据库.

function logit(msg) {
  writeMessageToDb(msg);
}

function tryingToTestThisFunction(){
  var error = processSomething();
  if (error) {
    logit(error);
  }
}
Run Code Online (Sandbox Code Playgroud)

我想logit()在测试期间简单地打印到控制台...并且isTesting()logit()函数内部执行" "if/else块不是一个选项.

如果不包括一些额外的模拟框架,这是否可行.我目前正在使用JsTestDriver单元测试,并且没有机会评估任何模拟框架.目前理想的解决方案是在没有其他框架的情况下处理这个问题.

javascript testing mocking

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

从visual studio解决方案文件和项目文件生成MSBUILD项目文件

我知道我可以通过MSBuild一个VS解决方案文件(.sln),它将构建解决方案,但在我脑海中的某个地方,我记得使用MSBuild命令行开关,它将采用一个解决方案文件(并且它引用了项目文件) )并从中生成单个MSBuild项目文件.但是,我现在找不到这个开关!这一切都是梦吗?

我看到了/preprocess开关(简短形式/pp),但我不认为这是它,因为这将包括所有导入的文件(包括Microsoft.*.目标),此外我似乎无法让这个开关工作.我在尝试以下命令行时,MSbuild生成*.out文件,但它是空的!

msbuild /target:rebuild /generate MSBuildCopyTargets.sln
Run Code Online (Sandbox Code Playgroud)

msbuild

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