小编Rob*_*nik的帖子

将标题转换为虚线URL友好字符串

我想编写一个C#方法,将任何标题转换为URL友好字符串,类似于stackoverflow的作用:

  • 用破折号替换空格
  • 删除括号
  • 等等

我正在考虑按照RFC 3986标准(来自维基百科)删除保留字符,但我不知道这是否足够?它会使链接可行,但有没有人知道堆栈溢出这里有什么其他字符被替换?我不希望在我的网址中以%-s结尾...

目前的实施

string result = Regex.Replace(value.Trim(), @"[!*'""`();:@&+=$,/\\?%#\[\]<>«»{}_]");
return Regex.Replace(result.Trim(), @"[\s*[\-–—\s]\s*]", "-");
Run Code Online (Sandbox Code Playgroud)

我的问题

  1. 我应该删除哪些字符?
  2. 我应该限制结果字符串的最大长度吗?
  3. 任何人都知道哪些规则适用于SO上的标题?

一个子问题
我是否应该将此问题转移到元,即使它与编程相关?

c# replace

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

将现有的无关联变更集与TFS中的工作项相关联

我知道TFS Power工具提供了强大的TFS命令行工具,可以通过Visual Studio集成功能提供更多功能.

我有几个与任何工作项无关的变更集.我想创建一个新的工作项并将这些现有的变更集与它相关联.

这可能吗?我没有看到任何特殊原因,但这取决于命令行工具是否提供此类功能.

associations changeset tfs2010 tfs-workitem

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

SQL表和C#枚举

假设我的应用程序中有n种类型的用户.

我使用UserType枚举来区分它们.

我是否需要在名为UserType的数据库中保留一个表?

这样我就可以通过查询表而不是搜索应用程序源代码来随时找到用户类型.

这样做我的源代码可能会变得有些复杂.

我应该承认这种交易吗?

c# sql

17
推荐指数
2
解决办法
8848
查看次数

这个Javascript代码有什么作用?

我一直在看Sharepoint脚本文件,我遇到过这个我没有得到的:

function ULSTYE() {
    var o = new Object;
    o.ULSTeamName = "Microsoft SharePoint Foundation";
    o.ULSFileName = "SP.UI.Dialog.debug.js";

    return o;
}

SP.UI.$create_DialogOptions = function() {
    ULSTYE:;   <----------------------------- WTF?
    return new SP.UI.DialogOptions();
}
Run Code Online (Sandbox Code Playgroud)

实际上,此文件中的每个函数定义都在ULSTYE:;左大括号后面的同一行开头.任何人都能解释第二个函数的第一行是做什么的吗?

例如,Firefox/Firebug将此功能解释为我无法理解的功能:

function () {
    ULSTYE: {
    }
    return new (SP.UI.DialogOptions);
}
Run Code Online (Sandbox Code Playgroud)

我以为我一直都知道Javascript ...... ;)必须是我过去从未使用的一些模糊的功能,显然很少被其他人使用.

javascript sharepoint sharepoint-2010

17
推荐指数
2
解决办法
2401
查看次数

使用Sharepoint API获取AD域组的成员

在我的Sharepoint代码中,我通过以下方式显示所有已定义用户的列表:

foreach (SPUser user in SPContext.Current.Web.AllUsers)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

最重要的是,我可以将域安全组添加到Sharepoint组(如访问者),从而一次添加许多用户(更简单的管理).但是我的代码在第一次登录之前至少没有看到这些用户(如果他们有足够的权限).在这种情况下,我只能看到域安全组SPUser对象实例的IsDomainGroup设置为true.

是否可以通过Sharepoint获取域组成员而无需借助Active Directory查询(这是我宁愿避免的,因为您可能需要足够的权限来执行此类操作=更多管理:Sharepoint权限+ AD权限).

c# dns active-directory-group sharepoint-2010

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

jQuery是否与ExtJS兼容?

我相信Ext.js正在使用jQuery,但我不确定.有谁知道是否与jQuery和Ext.js完全兼容?

javascript jquery extjs

15
推荐指数
3
解决办法
9162
查看次数

如何在实体框架中使用"Pex和Moles"库?

这是一个艰难的一个,因为没有太多人使用Pex和Moles左右我认为(即使Pex是一个非常好的产品 - 比任何其他单元测试工具好得多)

我有一个Data项目,它有一个非常简单的模型,只有一个实体(DBItem).我还在DBRepository这个项目中写了一个操纵这个EF模型的东西.Repository有一个调用的方法GetItems(),它返回业务层项目列表(BLItem),看起来与此类似(简化示例):

public IList<BLItem> GetItems()
{
    using (var ctx = new EFContext("name=MyWebConfigConnectionName"))
    {
        DateTime limit = DateTime.Today.AddDays(-10);
        IList<DBItem> result = ctx.Items.Where(i => i.Changed > limit).ToList();
        return result.ConvertAll(i => i.ToBusinessObject());
    }
}
Run Code Online (Sandbox Code Playgroud)

所以现在我想为这个特定的方法创建一些单元测试.我正在使用Pex&Moles.我为我的EF对象上下文创建了我的鼹鼠和存根.

我想编写参数化单元测试(我知道我已经编写了我的生产代码,但我必须,因为我正在测试Pex和Moles)测试此方法返回有效的项目列表.

这是我的测试类:

[PexClass]
public class RepoTest
{
    [PexMethod]
    public void GetItemsTest(ObjectSet<DBItem> items)
    {
        MEFContext.ConstructorString = (@this, name) => {
             var mole = new SEFContext();
        };

        DBRepository repo = new DBRepository();
        IList<BLItem> result = …
Run Code Online (Sandbox Code Playgroud)

unit-testing entity-framework pex-and-moles

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

从Visual Studio post build事件命令行运行Grunt

我试图在Visual Studio 2010和Visual Studio 2012中都这样做.如果我的Gruntfile.js文件位于我的项目的根目录中,我可以从post build事件命令行运行"grunt"命令,它运行时没有问题.

grunt or grunt.cmd
Run Code Online (Sandbox Code Playgroud)

但如果它在子目录中

$(ProjectDir)Public\grunt or $(ProjectDir)Public\grunt.cmd
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误

The command "c:\web\Public\grunt.cmd" exited with code 9009.
Run Code Online (Sandbox Code Playgroud)

我一直在研究这个,但我找不到任何帮助.我确实在grunt文档中发现我需要使用"grunt.cmd"而不是仅仅调用"grunt",但这对我没什么帮助.

visual-studio-2010 post-build-event visual-studio-2012 gruntjs

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

对继承类型的JSON反序列化

我的数据库中有一个数据表,我存储了各种设置.由于它们是任何类型(甚至是复杂的对象图),我决定将它们的值存储为序列化的JSON字符串.

让我们说我序列化了一个List<ItemBase>.序列化字符串看起来很好.但问题是列表项具有从中继承的各种类型ItemBase(对于我所关心的内容,这也可能是抽象的).

我应该使用哪个(de)序列化类/库,以便正确地反序列化我的JSON字符串以纠正对象实例.

.net json strong-typing javascriptserializer deserialization

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

如何让ng-disabled指令适用于隔离范围

最近我必须使用一个输入元素同时使用ng-disabled和一个自定义指令,它使用隔离范围来评估表达式,就像ng-disabled正在做的那样,不知何故,自定义指令工作正常但ng-disabled没有,因为它只评估孤立范围内的表达式.

自定义指令非常简单,如:

angular
  .module('directives', [])
  .directive('conditionalAutofocus', function () {
    return {
        restrict:'A',
        scope:{
            condition:'&conditionalAutofocus'
        },
        link:function (scope, element, attrs) {
            if (scope.condition()) {
                attrs.$set('autofocus','true');
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

而页面看起来像:

<input name="pin"
       ng-model="pin"
       type="password"
       required
       ng-disabled="names == null"
       conditional-autofocus="names != null" />
Run Code Online (Sandbox Code Playgroud)

有人已经解决了这个问题吗?

提前致谢!雅尼

scope angularjs

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