解决AjaxControlToolkit中ComboBox不能验证的问题

原创 2009年09月29日 14:33:00

原因从官网上得知,ComboBox是TextBox与其它控件的一个组合控件,因此如果直接绑定验证的话,验证控件将不会直接指向TextBox,因此只能使用CustomValidator 控件,但是在CustomValidator 控件的JS中,需要通过使用$find函数找到ComboBox当前的对象,然后再使用对像的_textBoxControl属性找到TextBox,代码如下所示

C# Code:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                var data = new[] { new { Id = 0, Name = "Jim.Yu" }, new { Id = 1, Name = "Simon.Fan" }, new { Id = 2, Name = "Allen.Zhao" } };
                this.ComboBox1.DataTextField = "Name";
                this.ComboBox1.DataValueField = "Id";
                ComboBox1.DataSource = data;
                ComboBox1.DataBind();
            }
        }

 

ASPX:

<asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <cc1:ComboBox ID="ComboBox1" runat="server">
        </cc1:ComboBox>
        <asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="ComboBox1"
            ValidateEmptyText="true" ClientValidationFunction="CustomValidator" Display="Dynamic"
            ErrorMessage="Custom Validator"></asp:CustomValidator>
        <br />
        <br />
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
            ControlToValidate="TextBox1" Display="Dynamic"
            ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="Button1" runat="server" Text="Button" />
                <script language="javascript">
                    function CustomValidator(s, e) {
                        if ($find(s.controltovalidate)._textBoxControl.value == "") {
                            e.IsValid = false;
                        }
                    }
        </script>

相关文章推荐

ComboBox控件隐藏fieldLabel不能隐藏问题解决

http://www.cnblogs.com/exmyth/archive/2013/05/04/3059754.html 1 问题描述      ComboBox在FormPanel...

VS2005 使用AjaxControlToolkit,并解决服务器出错

1、首先是运行AjaxControlExtender.vsi,运行方法是打开http://ajaxcontroltoolkit.codeplex.com/releases/view/11121,下载如...

解决QML开发中ComboBox中一个已选择项没有清除的问题

最近使用QML开发一个项目,需要使用ComboBox进行显示,当进行一个操作时,需要向ComboBox添加一个元素,当进行另外一个操作时,需要清除ComboBox里面的元素。但是在操作的过程中,出现了...

EasyUI的combobox组件Chrome浏览器不兼容问题解决办法

EasyUI版本:jQuery EasyUI 1.4.1 Chrome浏览器版本:41.0.2272.101 m 问题描述 在Chrome浏览器下,下拉框选择选项之后,选择的值在下拉框中...

ComboBox列问题代码

  • 2013年01月30日 14:57
  • 1.88MB
  • 下载

jQuery combobox解决检索中文问题

今天同事问了一个问题,就是jQuery的combobox不能检索中文的问题,需求是在combobox里面输入汉字,下拉框的值能自动检索匹配。 开始我从网上找到了一个解决办法,就是在jquery.ea...
  • D1208
  • D1208
  • 2015年10月09日 16:17
  • 1212

DataGridView中comboBox数据绑定的问题

 很多时候我们都需要使用DataGridView来做数据的显示,DataGridView是一个很方便的工具,他可以让用户直接在控件里面做数据的修改,还可以实现单表的更新,操作起来很方便。但是如果...

Extjs 常见问题:如何提交combobox的值

转至:http://apps.hi.baidu.com/share/detail/5452956 //提交出去的是显示域,而不是值域 //解决很简单,使用hiddenName即可。 example...

Combobox数据绑定的问题

C# WinForm 中ComboBox数据绑定的问题怎样让WinForm中的ComboBox显示表中的一个字段,同时又绑定另一个字段?   在Web中的ComboBox这样写可以绑定两个值:   t...
  • Freep_K
  • Freep_K
  • 2011年06月14日 10:07
  • 1139
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决AjaxControlToolkit中ComboBox不能验证的问题
举报原因:
原因补充:

(最多只允许输入30个字)