小编Sas*_*cha的帖子

如何使MVC3 DisplayFor显示Enum的显示属性的值?

在MVC3-Project中,我使用带有display-Attributes的枚举:

public enum Foo {
  [Display(Name = "Undefined")]
  Undef = 0,

  [Display(Name = "Fully colored")]
  Full = 1
}
Run Code Online (Sandbox Code Playgroud)

模型类有一个使用此枚举的属性:

public Foo FooProp { get; set; }
Run Code Online (Sandbox Code Playgroud)

视图使用模型类并通过显示属性

@Html.DisplayFor(m => m.FooProp)
Run Code Online (Sandbox Code Playgroud)

现在,最后,我的问题:

我如何使.DisplayFor()显示Display-Attribute中的字符串而不是仅显示枚举的值名称?(它应显示"未定义"或"全彩色",但显示"Undef"或"Full").

谢谢你的提示!

enums attributes asp.net-mvc-3

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

msbuild中的双循环?

我正在为msbuild编写一个脚本,它应该一步完成两个批处理.
示例:2个ItemGroups

<ItemGroup>
 <GroupOne Include="1" />
 <GroupOne Include="2" />
</ItemGroup>

<ItemGroup>
 <GroupTwo Include="A" />
 <GroupTwo Include="B" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

这两组应该相互循环:

<Message Text="%(GroupOne.Identity) %(GroupTwo.Identity)" />
Run Code Online (Sandbox Code Playgroud)

我希望msbuild能够完成两个批次的结果

1 A  
2 A  
1 B  
2 B  
Run Code Online (Sandbox Code Playgroud)

结果.
但那并没有发生.相反,它返回了以下无用的废话:

1  
2  
  A  
  B  
Run Code Online (Sandbox Code Playgroud)

按照以下链接中的博客(使用本地属性组)的方式进行操作

<PropertyGroup>
  <GroupOneStep>%(GroupOne.Identity)</GroupOneStep>
</PropertyGroup>
<Message Text="$(GroupOneStep) %(GroupTwo.Identity)" />
Run Code Online (Sandbox Code Playgroud)

品牌

2 A   
2 B
Run Code Online (Sandbox Code Playgroud)

任何提示?我疯了.:-(

PS:这里有一个关于该主题的博文-不幸的是因为propsed有它不工作: http://blogs.msdn.com/b/giuliov/archive/2010/04/30/gotcha-msbuild-nested-loops-double -batching.aspx

msbuild nested batch-file

13
推荐指数
2
解决办法
3088
查看次数

如何确定是否安装了.NET 4.02?

昨天已经问了这个问题 - 一些人没有花时间自己仔细阅读问题/评论,因此被关闭为"完全重复"!所以,另一个尝试 - 也许它有时间接受一些工作的答案,然后再次以无意义的理由关闭.

微软最近发布了一些针对.NET Framework的"更新".不幸的是,我不知道如何找出安装的版本.框架版本保持不变4.0.30319.239.

谢谢你的一些启发;-)

PS:将app.config中的supportedRuntime设置为Version = 4.0.2会使应用程序在启动时告诉我没有安装4.0.2(在任何时候 - 所以必须有一些可以找到"真实"版本的地方).

.net .net-4.0

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

Blazor 0.6.0"擦拭"Flurl兼容性?

将Blazor从0.5.1(使用Flurl)更新到0.6.0后,通过flurl调用会抛出异常:

WASM: [Flurl.Http.FlurlHttpException] Call failed. Cannot invoke method 
because it was wiped. See stack trace for details.
Run Code Online (Sandbox Code Playgroud)

该项目创建了一个HttpClientFactory,它可以让Blazor的HttpClient被Flurl使用:

使用HttpClientFactoryForBlazor使用Blazor的HttpClient(http)创建FlurlClient:

IFlurlClient c = new FlurlClient() { Settings = new Flurl.Http.Configuration.ClientFlurlHttpSettings { HttpClientFactory = new HttpClientFactoryForBlazor(http) }};
Run Code Online (Sandbox Code Playgroud)

使用FlurlClient(c)例如通过Flurl的扩展方法"IFlurlRequest.WithClient(c);"

private class HttpClientFactoryForBlazor : Flurl.Http.Configuration.IHttpClientFactory
{
    private readonly HttpClient httpClient;

    public HttpClientFactoryForBlazor(HttpClient httpClient)
    {
        this.httpClient = httpClient;
    }

    public virtual HttpClient CreateHttpClient(HttpMessageHandler handler)
    {
        return this.httpClient;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,似乎这种方法不再起作用.

有谁知道如何使用Blazor 0.6.0制作Flurl?

Call-Stack是:

WASM: [Flurl.Http.FlurlHttpException] Call failed. Cannot invoke method because it was wiped. See …
Run Code Online (Sandbox Code Playgroud)

flurl blazor httpclientfactory

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

在属性中使用int constant

任何人都可以解释为什么我不能在C#属性中使用const Int32?

例:

private const Int32 testValue = 123;  
[Description("Test: " + testValue)]  
public string Test { get; set; }
Run Code Online (Sandbox Code Playgroud)

使编译器说:

"属性参数必须是常量表达式,......"

为什么?

c# const

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

从正则表达式捕获组中找到最佳匹配

我想找到与给定正则表达式捕获组的最佳匹配。例子:

正则表达式:(AB|ABC)

示例:ABCDEF

结果:AB

但我想找到 ABC(选项列表中最合适的)。

如何才能做到这一点?(除了在小组中交换两种选择)?

感谢您的任何想法!

.net regex

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

为什么我的CRM插件中的所有引用属性都为null?

我正在使用早期绑定在联系人实体上编写PostUpdate插件.
不幸的是,所有应该代表1:x关系的属性都是null.
代码非常简单:
*CRMcontext是通过CrmSvcUtil.exe生成的文件,
*service是来自LocalPluginContext的IOrganizationService:

using ( var serviceContext = new CRMcontext(service) )
{
  // This works fine
  var contact = serviceContext.CreateQuery<Contact>().First(c => c.Id == context.PrimaryEntityId);

  // why is currency null after this line?! (and yes, it's set in the entity)
  var currency = contact.transactioncurrency_contact;
}
Run Code Online (Sandbox Code Playgroud)

我按照这个例子(最后一个代码片段):http://msdn.microsoft.com/en-us/library/gg695791.aspx

谢谢你的帮助!

编辑:

/// <summary>
/// N:1 transactioncurrency_contact
/// </summary>
[Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("transactioncurrencyid")]
[Microsoft.Xrm.Sdk.RelationshipSchemaNameAttribute("transactioncurrency_contact")]
public TransactionCurrency transactioncurrency_contact
{
    get
    {
        return this.GetRelatedEntity<TransactionCurrency>("transactioncurrency_contact", null);
    }
    set
    {
        this.OnPropertyChanging("transactioncurrency_contact");
        this.SetRelatedEntity<TransactionCurrency>("transactioncurrency_contact", null, value);
        this.OnPropertyChanged("transactioncurrency_contact");
    }
}
Run Code Online (Sandbox Code Playgroud)

c# plugins crm dynamics-crm-2011 dynamics-crm-2013

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

如何在C++/CLI界面中声明默认的索引属性

如何在C++/CLI - Interface中声明默认的索引属性.
(请原谅重复的,完全限定的命名空间符号,因为我只是学习C++/CLI,并且希望确保C++和C#之间没有语言原语的混淆)

代码是

public interface class ITestWithIndexer
{
    property System::String ^ default[System::Int32];
}
Run Code Online (Sandbox Code Playgroud)

编译器总是抛出"错误C3289:'默认'一个普通的属性不能被索引".
我的错误在哪里?

PS:在C#中,它就是这样

public interface ITestWithIndexer
{
    System.String this[System.Int32] { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如何将其转换为C++/CLI?

谢谢!!

default c++-cli indexer properties interface

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