我正在使用Visual Studio 2012,我无法获得自定义属性客户端逻辑,以便以较小的规模重现,我创建了一个新的MVC 4项目,我创建了以下模型和属性,永远不会验证
public class MyModel
{
public int Id { get; set; }
[Required]
public string LastName { get; set; }
[NeverValid(ErrorMessage="Serverside Will Never Validate")]
public string FirstName { get; set; }
}
public class NeverValidAttribute : ValidationAttribute, IClientValidatable
{
public override bool IsValid(object value)
{
return false;
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
return new ValidationResult(this.ErrorMessage, new[] { validationContext.MemberName });
}
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
yield return new ModelClientValidationRule
{
ErrorMessage …Run Code Online (Sandbox Code Playgroud) asp.net jquery jquery-validate unobtrusive-validation asp.net-mvc-4
我在我的WPF项目中使用Caliburn micro.静态菜单很容易与Caliburn绑定
<Menu Grid.Row="0" IsMainMenu="True">
<MenuItem Header="_File">
<MenuItem x:Name="OpenScript" Header="_Open script"/>
</MenuItem>
<MenuItem Header="_Script">
<MenuItem x:Name="RunScript" Header="_Run script" />
<MenuItem x:Name="StopScript" Header="_Stop script" />
</MenuItem>
<MenuItem Header="S_ettings">
<MenuItem x:Name="Plugins" Header="_Plugins">...Clickable children here</MenuItem>
</MenuItem>
</Menu>
Run Code Online (Sandbox Code Playgroud)
名称绑定到模型上的方法,但是对于上面看到的插件菜单,我们需要绑定PluginViewModel的集合.然后,当您单击插件时,我希望在菜单视图模型上触发Caliburn操作方法(你现在可以从那里获得IRutults的结果.这可能吗?
这个问题适用于这个开源项目 https://github.com/AndersMalmgren/FreePIE
编辑:忘了提到我已经解决了绑定部分,
public BindableCollection<PluginMenuViewModel> Plugins { get; set; }
Run Code Online (Sandbox Code Playgroud)
但我不知道如何从模型中听取点击