小编Ter*_*rry的帖子

使用AngularJS路由保留查询字符串

我已经在一个大型的Angular应用程序上工作了将近一年,而且我一直在努力做我想做的事情.

以下是我使用params的两条路线(为简洁而缩短):

/a/:id
/a/:id/b
Run Code Online (Sandbox Code Playgroud)

假设用户在,/a/1并且修改了查询字符串,例如:

/#/a/1?foo=123&bar=456
Run Code Online (Sandbox Code Playgroud)

我希望在页面上有一个链接,用于/a/1/b在保持查询字符串的同时将用户引导到第二条路由,因此最终结果是重定向到:

/#/a/1/b?foo=123&bar=456
Run Code Online (Sandbox Code Playgroud)

我正在使用Angular 1.2和新的ngRoute模块.

实现这种行为的最佳方法是什么?


编辑: 我应该提一下,我现在有一个工作解决方案对我来说似乎很糟糕.该链接绑定到一个ng-click处理程序,该处理程序基本上如下:

$scope.navigateToBClick = function() {
  var path = $location.path() + '/b',
    search = $location.search();
  $location.url(path + '?' + $.param(search));
};
Run Code Online (Sandbox Code Playgroud)

angularjs

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

如何在运行时"禁用"require.js?

我的团队和我有一个AngularJS应用程序,它不使用RequireJS,而是使用RequireJS 的现有站点的上下文中加载.在构建过程中,我将所有脚本缩小/连接成一个JS文件,其中包含某些供应商库,如Lodash,Moment等.

运行与父隔离的站点很好,但在父应用程序的上下文中,我得到了记录良好的错误:

Uncaught Error: Mismatched anonymous define() module: function () { return _; }
Run Code Online (Sandbox Code Playgroud)

我没有父应用程序的控制权,有没有办法在运行时 "禁用"RequireJS或将其配置为忽略我的脚本?

我们当前的解决方案是修改供应商库并删除AMD代码,但这是不受欢迎的,因为我们使用Bower(使用grunt-bower-install)并且希望自动更新依赖项而不是依赖于手动流程和自定义hacks .

javascript amd requirejs angularjs

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

Team Foundation Server合并不合并

为什么TFS不想再把我的旧文件给我?

开发分支 在此输入图像描述

主枝 在此输入图像描述

将Dev合并到Main 在此输入图像描述

编辑: 鉴于下面的第一个答案和一些更多的调查,我相信我正在尝试完成整个分支覆盖.这可能吗?

tfs visual-studio-2010 tfsbuild

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

500错误 - JSON对象POST到.ASMX webservice

保持这个问题简短而甜蜜.当我尝试将JSON对象传递给ASMX Web服务时,我收到500错误.请注意,如果我将params声明为单个变量(例如int ID, int OrderHeaderID,等),我不会收到错误.我不明白为什么会出现这个问题,我之前已经成功地以这种方式传递了对象,可能使用了不同的语法,但我记不得了.

JS:

var returnHeader = {
    ID: -1,
    OrderHeaderID: parseInt(getQueryStringKey('OrderID')),
    StatusID: 1,
    DeliveryCharge: 0,
    CreatedBy: $('span[id$="lblHidUsername"]').text(),
    ApprovedBy: $('span[id$="lblHidUsername"]').text()
};

$.ajax({
    type: "POST",
    url: 'Order.asmx/SaveReturnHeader',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: JSON.stringify(returnHeader),
    success: function (result) {
        if (result.Status == 'OK') {
            GetReturns();
        }
        else {
            $('#divMessage').show().html(result.Data.Message).addClass('error');
        }
    },
    error: function (x, e) {
        if (x.status == 500) {
            $('#divMessage').show().html('An unexpected server error has occurred, please contact support').addClass('error');
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

服务器: …

ajax jquery json web-services asmx

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

最小起订量-模拟多个参数

我在Moq页面上尝试的链接有一半是断开的,包括用于其官方API文档的链接。所以我会在这里问。

我已经成功地使用了一个“ catch all”参数,如下所示:

mockRepo.Setup(r => r.GetById(It.IsAny<int>())).Returns((int i) => mockCollection.Where(x => x.Id == i).Single());
Run Code Online (Sandbox Code Playgroud)

但是我无法弄清楚如何使用多个参数实现相同的行为。

mockRepo.Setup(r => r.GetByABunchOfStuff(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<int>())).Returns( ..... );
Run Code Online (Sandbox Code Playgroud)

....是我不知道的部分。


编辑以回应约旦:

问题是如何表示3个参数而不是仅3个。

如何转弯:

(int i) => mockCollection.Where(x => x.Id == i)
Run Code Online (Sandbox Code Playgroud)

变成:

(int i), (string s), (int j) => mockCollection.Where(x => x.Id == i && x.SomeProp == s && x.SomeOtherProp == j)
Run Code Online (Sandbox Code Playgroud)

c# moq mocking

4
推荐指数
2
解决办法
8237
查看次数

映射到嵌套类

我的应用程序运行时收到以下错误:

System.InvalidOperationException:未映射"ContactModels + Contact"类型.使用Ignore方法或NotMappedAttribute数据批注检查未明确排除类型.验证类型是否已定义为类,不是原始类,嵌套类还是通用类,并且不从EntityObject继承.

当我的DBContext类尝试初始化实体时失败:

public class DB : DbContext
{
    public DbSet<ContactModels.Contact> Contacts { get; set; }
    ....
}
Run Code Online (Sandbox Code Playgroud)

Contact模型如下:

public class ContactModels
{
    public class Contact
    {
        public int ID { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

连接字符串:

<add name="DB" connectionString="Data Source=XXXXX;Initial Catalog=XXXX;Trusted_Connection=True"
  providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

我得到的错误是数据库是否存在,或者即使它不存在,我也将其初始化:

protected void Application_Start()
{
    Database.SetInitializer(new CreateDatabaseIfNotExists<Models.DB>());
    ....
}
Run Code Online (Sandbox Code Playgroud)

这是我第一次使用EF,我已经遵循了一些教程,但我使用的是SQL Server 2008 R2,并且更愿意自己创建数据库,而不是让EF为我创建它.虽然在这一点上我会采取任何一个,如果它的工作.

.net c# sql-server nested-class entity-framework-4.1

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

在C#中删除继承对象的属性

如果我有一个复杂的对象,我可以继承它并删除忽略某些属性吗?

如果您不在乎我为什么要这样做,请随时提交答案.

如果你关心,你可以阅读这个问题.总结一下,我有一个对象具有一个不可序列化的属性,我想序列化整个对象.有问题的对象是System.Exception

为了解决这个问题,我想简单地创建自己的JsonException对象,继承base(System.Exception)的所有可爱属性,除了删除(或清空)丑小鸭(Exception.TargetSite).

就像是:

public class MyException : Exception
{
    // Note this is not actually possible
    //      just demonstrating what I thought to do in theory
    public override System.Reflection.MethodBase TargetSite
    {
        get
        {
            return null;
        }
    }

    public MyException(string message)
        : base()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

另外请记住,我坚持使用.NET 2.0,如果我不需要,我真的不想使用自定义序列化程序(如Json.NET).

c# oop serialization

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

.NET MVC3路由 - 为什么这么混乱?

我不知道为什么我经常与此斗争,但有人可以解释为什么这不起作用?

/重定向到控制器的index动作home.

/gallery/ 抛出404未找到的错误.

/gallery/index重定向到控制器的index动作gallery.

文档:

定义路径时,可以为参数指定默认值.如果URL中未包含该参数的值,则使用默认值.您可以通过将字典对象分配给Route类的Defaults属性来设置路由的默认值.

我不明白这是如何遵循这条规则的:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.MapRoute(
            "Default",
            "{controller}/{action}/{id}",
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
        );
    }
Run Code Online (Sandbox Code Playgroud)

它对我来说:

  • 如果controller未定义a,请使用Home.
  • 如果action未定义,请使用Index.
  • 输入的URL包含一个控制器= gallery并且URL中不包含操作,因此它应该转到Index.

我是否遗漏了某些不必要的混淆和愚蠢的东西?

我总是发现MVC3路由有问题但接受了它.然后我开始使用Rails和Node框架,并且它们具有可笑的简单路由,所以现在.NET MVC只是在它不起作用时使我烦恼或者让我使用复杂的模式.

作为参考,以防有人询问,我的图库控制器,操作和视图都已定义并在我浏览时工作/gallery/index.

public class GalleryController : Controller
{
    public ActionResult Index()
    {
        return View();
    } …
Run Code Online (Sandbox Code Playgroud)

url-routing asp.net-mvc-routing asp.net-mvc-3

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

For循环只在Jquery中运行一次

在jQuery中运行for循环的问题只运行一次.Users是一个包含4个项目的数组,对于每个项目,它应该将该项目作为列表元素附加到userList,这是一个ul.它按预期将第一个元素附加到数组中,但仅包含该元素.不知道为什么它没有贯穿整个阵列?

$(document).ready(function() {
    var $currentUser = $('<li class="user"></li>');
    for(var i = 0; i < users.length; i++) {
        $currentUser.text(users[i]);
        $currentUser.appendTo('.userList');
    }    
    //alert(users.length) returns "4".
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

0
推荐指数
1
解决办法
938
查看次数