【问题标题】:Custom Validation in Repeater Control using asp.net使用 asp.net 在中继器控件中自定义验证
【发布时间】:2012-11-18 12:31:58
【问题描述】:

我在转发器控件中有文本框、标签和按钮。按钮应该验证文本框。如果用户输入的数字大于 4,则会出现错误消息,并且文本框的值应根据标签框的值进行更改。

如何在转发器中使用自定义验证来验证文本框?

【问题讨论】:

    标签: asp.net validation repeater


    【解决方案1】:

    OnItemDataBound 事件或 OnItemCreated 事件执行此代码

                Label lbl = (Label)e.Item.FindControl("lblId"); 
                Button btn = (Button)e.Item.FindControl("btnId");
                TextBox txt = (TextBox)e.Item.FindControl("txtId");
                CustomValidator cfv = (CustomValidator)e.Item.FindControl("cfvId");
                if (cfv != null && txt!=null&&btn!=null&&lblId!=null)
                {
                    cfv.ControlToValidate = txt.ClientID;
                    cfv.ClientValidationFunction = "YourFunction";
                    cfv.ValidationGroup = cfv.ClientID + "ValidationGroup";
                    btn.ValidationGroup = cfv.ClientID + "ValidationGroup";
                    lbl.AssociatedControlID=txt.ClientID;
                }
    
      //javascript code on client side
      function YourFunction(sender, args)
      {
          args.IsValid=parseInt(args.Value)<=4;
          if(!args.IsValid)
             $('#'+sender.controltovalidate).val($('label:[for="'+sender.controltovalidate+'"]').text());
          return;
      }
    

    【讨论】:

    • 接下来的操作取决于你使用什么 clear javascript 或 jquery
    • 使用 javascript 还是 jquery?您是否为您的标签定义 AssociatedControlID 属性?你能显示你的模板的aspx代码吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多