如何检查DNN模板编辑器令牌是否为空?

时间:2015-10-22 14:28:11

标签: jquery html token dotnetnuke

我有一个人们可以输入信息的表单,每个字段都有一个令牌。例如,如果有人在标有名称的文本框中输入他们的名字,如果我使用[NAME]标记,则会在另一页上输入输入的名称。

我现在正在构建将输出以

形式输入的信息的页面

名称:输入的名称为<span>Name: </span>[NAME]

并想知道如何检查令牌[NAME]是否为空,如果该字段为空,则删除该元素。

谢谢

1 个答案:

答案 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;
    }
    ...