- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的 AccountController 中有这个错误。
The type or namespace name 'SelectListItem' could not be found ( are you missing a using directive or an assembly reference?
明显的解决方法是添加 using System.Web.Mvc;
但是当我这样做时我得到 4 个新错误
在两条不同的线上:
The type or namespace name 'ErrorMessage' could not be found (are you missing a using directive or an assembly reference?)
另外两条不同的线:
'Compare' is an ambiguous reference between 'System.ComponentModel.DataAnnotations.CompareAttribute' and 'System.Web.Mvc.CompareAttribute'
为什么会发生这种情况,我该如何解决?
public class RegisterViewModel
{
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
public IEnumerable<SelectListItem> DepotList { get; set; }
}
重置密码 View 模型
public class ResetPasswordViewModel
{
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
}
最佳答案
是的。这两个命名空间都具有具有相同功能的属性。
根据 msdn documentation , System.Web.Mvc.CompareAttribute
已过时,推荐使用System.ComponentModel.DataAnnotations.CompareAttribute
因此要么使用包括命名空间的完全限定名称。
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[System.ComponentModel.DataAnnotations.Compare("Password",
ErrorMessage = "The password and confirmation password do not match.")]
public string Name { get; set; }
或者,如果您不想在所有地方都使用完全限定名称,则可以使用别名
using Compare = System.ComponentModel.DataAnnotations.CompareAttribute;
public class ResetPasswordViewModel
{
[DataType(DataType.Password)]
[Compare("Password", ErrorMessage = "The password and confirm password do not match.")]
public string Password { set;get;}
//Other properties as needed
}
关于c# - “比较”是 'System.ComponentModel.DataAnnotations.CompareAttribute' 和 'System.Web.Mvc.CompareAttribute' 之间的模糊引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36318044/
我的 AccountController 中有这个错误。 The type or namespace name 'SelectListItem' could not be found ( are yo
我在 MVC3 中使用 CompareAttribute 并且它工作正常。但我想使用不区分大小写的类代码。有什么方法可以让它工作吗 提前致谢 [CompareAttribute("ClassCode"
我刚刚阅读了 MVC3 的新 CompareAttribute,您可以将其应用于模型的属性以定义它应该匹配的另一个属性 - 经典用例是确认电子邮件地址已正确输入,或具有密码和 ConfirmPassw
我正在布置一个比较两个密码字符串的 View 。我的一个模型中的两个属性非常简单: [Required] [RegularExpression(@"(\S)+", ErrorMessa
我正在使用 MVC3,我希望在同一页面上有登录表单和注册表单。为了实现这一目标,我构建了 LogInRegisterViewModel,如下所示: public class LogInRegister
我正在尝试在安装有 Windows Server 2012 RC 的服务器上安装的 TeamCity 上构建 MVC 项目。 我收到以下错误。它看起来与 MVC 版本有某种冲突,这是我在谷歌搜索时发现
我是一名优秀的程序员,十分优秀!