EmailAttribute未在ASP.NET Core的ViewModel中正确validation

这是位于我的viewmodel中的字段: [Required(ErrorMessage = “Email is missing.”), EmailAddress(ErrorMessage = “Email is not valid.”)] public string Email { get; set; } ( EmailAddress来自EmailAddressAttribute.EmailAddressAttribute()类型) 这是HTML的相关部分: EMAIL 当我在电子邮件文本框中输入myemail时,它会说 电子邮件无效 但是,在键入myemail@email ,视图模型将会将其视为正确(仅在前端)。 public async Task Register([FromForm]VisitViewModel vm) 像这样的ModelState转换会使ModelState无效并拒绝电子邮件,因此该部分是可以的。 根据这个答案 ,前端应该表明这是无效的 谁能解释一下这里发生了什么? 我绝对亏本。

用于有界线集合的交叉的有效算法

我有一组配对数字,需要有效地找到包含给定值的对的集合。 给出数字对的以下表示 public class Line { public double Start { get; set; } //is always < end public double End { get; set; } } Lines的集合可以像下面那样在视觉上布局(黑线) 垂直的红线是交叉标准(只是一个简单的数字,如10.123) 我正在寻找一种有效的算法,它只返回与红色相交的黑线,这是基于搜索执行的频率大于集合中Line添加频率的假设。 (显然假设集合很大) 到目前为止,我不太理想的解决方案是 将行创建时插入两个排序列表。 一个在Start排序,另一个在Ended上排序 二进制搜索起始有序列表,以查找起始大于交叉标准的第一行的索引。 (理论上所有包括和在此指数之后的线都是非交叉的) 在(2)中对最终有序列表重复类似的逻辑 比较索引并选择要解析的剩余迭代次数最少的列表 通过手动寻找交叉点迭代所选列表的其余部分

C ++ / CLI中使用的动态C#对象

我目前正在构建一个c ++ / cli互操作库。 该库将由c#和vb.net应用程序使用,我想使用.Net 4动态类型。 我有一个配置模块使用动态成员访问来引用配置键,这在c#中工作得很好但是在c ++ / cli中给我带来麻烦(并非完全出乎意料)有没有办法在C ++ / CLI中使用这个库(例如通过直接调用TryGetMember()或其他东西)? 如果C ++ / CLI库然后将动态配置传递给用C#编写的派生类,那么C#是否仍然能够使用动态成员访问? 请注意,基类是在c ++ / cli中定义的,因此我无法使用dynamic关键字。 (或者我会吗?)

C#PropertyGrid拖放

我正在尝试使用VS2005(.NET 2.0)实现对C#中的propertygrid的拖放支持。 propertygrid可以处理dragenter等事件,但似乎没有办法在拖动事件期间获取指针下的griditem。 到目前为止,我能够获得的最好的是使用selectedgriditem属性来检索自定义属性描述符并设置值,但这需要在开始拖放操作之前选择网格项。 有没有人有幸实现这个? 谢谢 :-)

来自BindingSource的C#刷新文本框

我正在刷新使用BindingSource对象的Windows窗体控件时遇到困难。 我们有一个CAB / MVP / SCSF客户端,我(实际上是“我们”,因为它是团队的努力)正在开发,它将与在远程服务器上运行的WCF服务进行交互。 (这是我们的第一次尝试,因此我们处于学习模式)。 其中一个调用(从Presenter)到服务返回一个包含3个DataTable的DataSet,名为“Contract”,“Loan”和“Terms”。 每个表只包含一行。 当服务返回数据集时,我们将它存储在类成员变量的SmartPart / View中,方法是调用名为BindData()的视图中的函数,并将数据集传递给演示者类的视图; private System.Data.DataSet _ds = null; public void BindData(System.Data.DataSet ds) { string sErr = “”; try { _ds = ds; // save to private member variable // more code goes down here } } 我们试图将三个DataTable中的每一个绑定到各种各样的Windows Forms TextBox,MaskedEditBoxes和Infragistics UltraComboEditor Dropdowncombobox我们创建了三个BindingSource对象,每个对象使用VS2008 IDE对应一个DataTable。 private System.Windows.Forms.BindingSource bindsrcContract; private […]

序列化图形时出现exception

我还在玩新发布的protobuf-net版本,我正面临一个我不明白的问题。 让我们考虑以下代码: [ProtoContract] class Node { public Node() { Children = new List(); } [ProtoMember(1, IsRequired = true)] public int Data { get; set; } [ProtoMember(2, IsRequired = true, AsReference = true)] public List Children { get; set; } public void AddChild(Node child) { Children.Add(child); } } static void Main() { Node n = new […]

无法在Mono中加载’System.Web.Http.WebHost.Routing.HttpRouteExceptionHandler’类型

我尝试在Mono中使用最新的Asp.Net Web API,但错误显示如下: System.TypeLoadException Could not load type ‘System.Web.Http.WebHost.Routing.HttpRouteExceptionHandler’ from assembly ‘System.Web.Http.WebHost, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’. Description: HTTP 500.Error processing request. Details: Non-web exception. Exception origin (name of application or object): System.Web. Exception stack trace: at System.Web.Routing.UrlRoutingModule.PostResolveRequestCache (System.Web.HttpContextBase context) [0x00054] in /Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web.Routing/System.Web.Routing/UrlRoutingModule.cs:128 at System.Web.Routing.UrlRoutingModule.PostResolveRequestCache (System.Object o, System.EventArgs e) [0x00007] in /Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web.Routing/System.Web.Routing/UrlRoutingModule.cs:88 at System.Web.HttpApplication+c__Iterator0.MoveNext () [0x001ba] in […]

有条件地加载WPF控件

鉴于: 我在stackpanel中有两个控件(control1和control2),而且我一次只想显示一个控件。 如代码所示,控件的可见性由“IsDateReadOnly”和“CanShowDateControl”驱动。 并且,根据我的viewmodel逻辑… CanShowDateControl =!IsReadOnly。 所以,有一段时间我只会显示两个控件中的一个。 问题:我的问题是,虽然我一次只显示一个控件,但我的xaml正在创建两个控件的实例。 是否可以创建仅显示我正在显示的控件的实例? 给那个: 1)我想使用绑定显示/隐藏,因此逻辑位于我的viewmodel中。 2)我可以将这两个控件保存在一个包装器控件中。 因为我在不同的地方使用它。 谢谢你的关注。

是否有可能用Linq替换这个foreach循环?

我有一个foreach循环,我想用Linq查询替换,但我无法弄清楚如何编写查询。 请参阅下面的示例和TIA。 using System.Collections.Generic; using System.Linq; namespace ConsoleApplication { class ExampleProgram { static void Main( string[] args ) { Device device = new Device(); // The goal is to populate this list. var list1 = new List(); // I would like to replace this loop with a Linq query foreach( MemoryBank memoryBank in device.MemoryBanks ) […]

在C#中运行Powershellscript

我试图在Windows窗体中通过C#运行PowerShell脚本。 问题是我有两个枚举,我无法在代码中得到它们: using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using System.Collections.ObjectModel; using System.Management.Automation; using System.Management.Automation.Runspaces; namespace WindowsFormsApp6 { static class Program { /// /// Der Haupteinstiegspunkt für die Anwendung. /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } *here } 我理解,我是否必须在静态void下添加以下内容? (在这儿): using (PowerShell PowerShellInstance = PowerShell.Create()) { } […]