我想强制控件的使用者在将控件放置在页面上时为属性指定值。
在 VisualStudio 中,当您在用户控件上创建不带属性 SRC 或 ALT 的 < img > 标记时,它会带有下划线,表示 SRC 和 ALT 是必需属性。我认为这只是编辑器对标签的特殊处理,但是有没有办法为控件定义类似的行为?
如果控件具有如下定义的属性:
public object AProperty
{
get
{
if (ViewState["AProperty"] == null)
{
throw new Exception("AProperty is a required property of this control");
}
return ViewState["AProperty"];
}
set { ViewState["AProperty"] = value; }
}
有没有办法使用自定义属性或其他可以在设计器中标记的内容?
最佳答案
您可以使用 Microsoft.Build.Framework.Required 属性。这需要在构建时设置一个值,否则构建将失败并显示一条消息,指示该属性没有值。
我不相信有一个属性来指示服务器控件中必须包含特定标记(或者至少我在 System.Web.UI.HtmlControl.Image 类上没有看到任何此类属性) 。我相信小下划线是 IDE 的 HTML 验证的一部分。
您始终可以创建一个自定义属性,如果缺少属性,该属性会引发警告
关于asp.net - 在设计 View 中根据需要标记控件属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787473/