如果在xaf Web应用程序中尝试保存(例如保存联系人)时没有为相关字段提供值,我想强制用户从弹出窗口中选择值?怎么能实现这一目标?
答案 0 :(得分:2)
使用XAF框架,您可以实现大多数事情,但这取决于您希望与之抗争的程度。
XAF方式是使用验证模块并向您的媒体资源documentation添加RuleRequiredField
。然后,当用户按 save 时,将显示错误消息,并且将关注相关字段。用户修复了违规字段后,可以再次单击“保存”。不完全是你所描述但它的效果非常好。像这样:
private string _Title;
[RuleRequiredField("RuleID_TitleIsRequired", DefaultContexts.Save, "A title must be specified.")]
public string Title {
get { return _Title; }
set { SetPropertyValue("Title", ref _Title, value); }
}
编辑模式下的任何参考字段都可以显示为弹出窗口。参考属性编辑器all documented here有各种替代方案,在您的情况下,您可以控制哪种类型的编辑器出现(ASPxLookupFindEdit
这是一个弹出窗口,或ASPxLookupDropDownEdit
是一个下拉列表),通过模型。
如果在按保存后出现弹出窗口,则必须覆盖WebModificationsController
中的行为。有some documentation here。这将是一个可行的改变,但如果您没有XAF经验,我建议坚持使用验证规则。