我有一组具有一组属性的类如下所示.
class ContactInfo
{
[ReadOnly(true)]
[Category("Contact Info")]
public string Mobile { get; set; }
[Category("Contact Info")]
public string Name{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
此类的对象被分配给属性网格,以便用户可以更新现有联系人.你可以看到Mobile被标记为ReadOnly.
但是,当我想添加一个全新的联系人时,我希望用户能够编辑联系人移动设备.为此,我需要在将对象分配给属性网格之前从Type中动态删除Readonly属性.可能吗?
我正在使用ASP.Net MVC 3.我有一个名为Student的实体,其属性为Id,Name,Age,RollNo.在Student的创建页面中,我使用了验证框架.但是在高级搜索页面中,我使用了所有属性但不想使用验证框架,因为用户可能不想使用所有字段进行搜索.
我还想提一下,我在模型类中使用了[Required]注释.
请帮我解决这个问题.
问候莫莱
我想使用ComponentModel DataAnnotations验证两个属性中至少有一个属性值.我的模型看起来像这样:
public class FooModel {
public string Bar1 { get; set; }
public int Bar2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
基本上,我想验证FooModel,以便需要Bar1 或 Bar2.换句话说,您可以输入一个,或另一个,或两者,但您不能将它们都留空.
我希望这对于服务器端和不显眼的客户端验证都有效.
编辑:这可能是重复,因为这看起来类似于我想要做的
如果有人能给我一些暗示我会很感激.
我正在寻找一段时间,我甚至发现了一个帖子,我认为它可以解决我的问题,但事实并非如此.
基本上我有一个简单的User.cs模型,其中我有用户名,FirstName,LastName和SignupDate
所有都有必要的注释,我想解决这个问题而不删除必需的标记.
生成视图后,我在视图中删除SignupDate的html代码:
<div class="editor-label">
@Html.LabelFor(model => model.SignupDate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.SignupDate)
@Html.ValidationMessageFor(model => model.SignupDate)
</div>
Run Code Online (Sandbox Code Playgroud)
当我点击提交它不起作用.
如果我在其他帖子中建议的话
<div class="editor-label">
@Html.LabelFor(model => model.SignupDate)
</div>
<div class="editor-field">
@Html.TexBoxFor(model => model.SignupDate, new { data_val = false })
</div>
Run Code Online (Sandbox Code Playgroud)
如果我把它留空也不起作用..
有什么建议?谢谢!!