小编Tim*_*Dog的帖子

通过字符串获取c#动态属性的值

我想dynamic用字符串访问c#属性的值:

dynamic d = new { value1 = "some", value2 = "random", value3 = "value" };

如果我只将"value2"作为字符串,我怎样才能获得d.value2("random")的值?在javascript中,我可以使用d ["value2"]来访问值("随机"),但我不知道如何使用c#和反射来执行此操作.我最接近的是:

d.GetType().GetProperty("value2") ......但我不知道如何从中获得实际价值.

一如既往,感谢您的帮助!

c# dynamic

173
推荐指数
9
解决办法
21万
查看次数

如何在asp.net mvc中展平通过JsonResult返回的ExpandoObject?

我非常喜欢在运行ExpandoObject时编译服务器端动态对象,但是在JSON序列化期间我遇到了麻烦.首先,我实例化对象:

dynamic expando = new ExpandoObject();
var d = expando as IDictionary<string, object>;
expando.Add("SomeProp", SomeValueOrClass);
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.在我的MVC控制器中,我想将其作为JsonResult发送,所以我这样做:

return new JsonResult(expando);
Run Code Online (Sandbox Code Playgroud)

这将JSON序列化到下面,由浏览器使用:

[{"Key":"SomeProp", "Value": SomeValueOrClass}]
Run Code Online (Sandbox Code Playgroud)

但是,我真正喜欢的是看到这个:

{SomeProp: SomeValueOrClass}
Run Code Online (Sandbox Code Playgroud)

我知道我可以实现这个,如果我使用dynamic而不是ExpandoObject- JsonResult能够将dynamic属性和值序列化为单个对象(没有Key或Value业务),但我需要使用的原因ExpandoObject是因为我不知道所有的直到运行时我想要的对象属性,据我所知,我不能动态地添加属性dynamic而不使用ExpandoObject.

我可能不得不在我的javascript中筛选"关键","价值"业务,但我希望在将其发送给客户之前解决这个问题.谢谢你的帮助!

javascript c# asp.net-mvc json expandoobject

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

Meteor是否对集合有明确的查询?

我想在我的收藏中返回不同的字段.我知道这些是mongo运算符文档,但我对查询语言不太熟悉,知道这是否可行?

Meteor.publish("distinctCollection", function() {
    return Collection.find({ ... }, fields: { "myField": 1 });
});
Run Code Online (Sandbox Code Playgroud)

mongodb meteor

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

如何在流星中使用jQuery UI?

在Meteor应用程序中安装jQuery UI的正确方法是什么?由于它还不是一个包,我将下载中的jquery-ui.min.js和jquery-1.8.3.js添加到lib我的meteor项目的文件夹中.这导致以下致命错误:

Your app is crashing. Here's the latest log.
app/lib/jquery-1.8.3.js:9472
})( window );

ReferenceError: window is not defined
at app/lib/jquery-1.8.3.js:9472:5

(.........)

Exited with code: 1
Your application is crashing. Waiting for file change.
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui meteor

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

这个绿色图标在github存储库中意味着什么?

这个绿色图标在Github中意味着什么?我知道提交链接将我带到另一个存储库.我需要做类似的事情.这是符号链接吗?还是一个子模块?对于git来说还是有点新鲜,我想知道如何自己复制这个.创建后,如何更新此外部依赖项?

Git存储库 - 绿色图标是什么?

git github

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

如何正确地将git push与nuget集成?

我有一个Github存储库,我想将其用作我的nuget包的源代码.目前,我分别推送两个存储库:

1. git push origin master

2. nuget packnuget push MyPackage.0.0.0.1.nupkg

我希望能够简单地打电话git push origin master

理想情况下,我会使用某种桥接/服务挂钩来提升nuget版本并使用git源自动执行推送.

有谁知道这种东西的良好桥接机制?

github nuget

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

如何让VS2010识别我的SpecFlow生成的mstests?

我已经将Specflow配置为定位MsTest框架(而不是NUnit),方法是在我的'specs'类库的app.config中指定它:

<configSections>
    <section name="specFlow"
   type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/>
</configSections>

<specFlow>
 <unitTestProvider name="MsTest.2010" />
</specFlow>
Run Code Online (Sandbox Code Playgroud)

所以一旦它到位,我可以看到我的测试夹具是由Specflow自定义工具正确生成的,具有正确的TestClassAttribute()和方法等:

[System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.3.3.0")]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()]
...
Run Code Online (Sandbox Code Playgroud)

specs类构建,但现在我无法使用我的vista 64盒上的Visual Studio 2010中的Test - > Run - > All Tests in Solution运行测试.为什么VS不认为这些是有效的测试运行?

bdd visual-studio-2010 specflow

7
推荐指数
2
解决办法
4141
查看次数

无论间距约束如何,如何强制高图显示每个x轴标签?

我想展示每个x轴标签,你可以看到它只显示每一个:

http://jsfiddle.net/f48cjf01/2/

相关代码:

xAxis: {
    categories: _.pluck(_mainData, "number")
    , labels: {
         rotation: 290
         , step: 1 //show every tick regardless of spacing
         , align: 'right'
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要做些什么才能显示每个滴答?(我知道这里看起来很难看,因为它的空间很小......但是我还是想强迫它)

highcharts

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

AppHarbor - 为什么我的<httpRuntime maxRequestQueryStringLength ="XXXX"/>不起作用?

我有一个很长的查询字符串值我需要传递(本身是一个可疑的练习,我明白),我无法让它在我的Appharbor应用程序实例上生效.

在本地,我已对我的web.config进行了此更改,并确认有问题的URL在本地工作:

<httpRuntime maxQueryStringLength="2097151"/>
Run Code Online (Sandbox Code Playgroud)

并确保它存在于生成的web.config中,通过我的Web.Release.config发布转换.也就是说,当我推送到AppHarbor时,转换应该把它拿起来......但我仍然得到这个例外:

The length of the query string for this request exceeds the configured maxQueryStringLength value.
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢你的帮助.

web-config httpruntime appharbor

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

如何在raphael/jquery中完成javascript插件架构?

我正在寻找一个简单的javascript示例,演示javascript插件架构如何与大型javascript库(如raphael或jquery)一起工作.在任何一种情况下,您都可以通过确保自定义插件遵循以下模式来构建插件:jQuery.fn.pluginName- 假设我有一个库:

myLibrary = (function() {
    //my fancy javascript code
    return function() {
        //my return object
    };
});
Run Code Online (Sandbox Code Playgroud)

如何将fn上述myLibrary对象合并以确保他生成的插件可以调用?我实例化myLibrary如下:

var lib = new myLibrary();
Run Code Online (Sandbox Code Playgroud)

现在我在我的页面中添加了对插件的引用:

myLibrary.fn.simplePlugin = function() { //more fancy code }
Run Code Online (Sandbox Code Playgroud)

最后,我可以打电话给:

lib.simplePlugin();
Run Code Online (Sandbox Code Playgroud)

基本上,.fn在插件创建过程中使用时会发生什么魔法呢?

javascript architecture plugins

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

如何在使用Meteor登录过程中挂钩进行身份验证回调?

使用meteor,我希望能够user在他们使用外部服务登录(已验证)以获取其授权声明后增加记录.

更新 我正在使用{{loginButtons}}把手帮助器小部件.

目前,我看到一个Accounts.validateNewUser和一个Accounts.onCreateUser可以在创建新用户期间挂钩.这些最初会有所帮助,但我的需求是经常性的.

我知道有一个allow功能可以挂断它Meteor.Collection作为一种授权用户访问集合的方法 - 这正是我将使用claims我打算用来增加用户来确定授权的地方.

在登录过程中是否有人知道钩子可以让我这样做?

meteor

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