我有一个人们可以输入信息的表单,每个字段都有一个令牌。例如,如果有人在标有名称的文本框中输入他们的名字,如果我使用[NAME]标记,则会在另一页上输入输入的名称。
我现在正在构建将输出以
形式输入的信息的页面名称:输入的名称为<span>Name: </span>[NAME]
并想知道如何检查令牌[NAME]是否为空,如果该字段为空,则删除该元素。
谢谢
答案 0 :(得分:0)
好的 - 似乎没有任何内置方法可以在令牌替换上进行条件格式化。关于扩展令牌替换(http://www.dnnsoftware.com/community-blog/cid/154432/templating-or-the-art-of-making-complicated-things-simple)已有一些想法,但您必须修改事件计划器模块才能执行此操作,并且需要做很多工作。
作为一种黑客行为,我可能会提出以下建议:
public class AppBarButton : Button
{
public AppBarButton()
{
this.PreviewMouseLeftButtonDown += AppBarButton_PreviewMouseLeftButtonDown; ;
}
private void AppBarButton_PreviewMouseLeftButtonDown(object sender, RoutedEventArgs e)
{
Button button = sender as Button;
if (button == null || IsActionConfirmationRequired == false || ConfirmationActionCommand == null)
return;
const string defaultMessage = "Do you really want to {0}";
string confirmationPopUpMessage = string.IsNullOrEmpty(ActionConfirmationMessage)
? DebugFormat.Format(defaultMessage, button.Content)
: ActionConfirmationMessage;
ConfirmationDailogDetails confirmationDailogDetails = new ConfirmationDailogDetails
{
Message = confirmationPopUpMessage,
ActionName = button.Content.ToString(),
Template = button.Template,
ActionCommand = ConfirmationActionCommand
};
**//instead of ConfirmationActionCommand want to use base.Command**
ConfirmationDailog dialog = new ConfirmationDailog(confirmationDailogDetails)
{
PlacementTarget = button,
IsOpen = true
};
//validation here
dialog.ShowDialog();
var confirmed = dialog.IsConfirmed;
e.Handled = confirmed;
}
...