文本模式上的C#文本框号在空时不触发

时间:2017-02-03 10:53:54

标签: c# asp.net visual-studio

我正在实现网格视图并在Headers中放置一个文本框,以便能够过滤每列的数据。我为每个文本框的ontextchanged触发器提供了以下代码。

protected void Filter_TextChanged(object sender, EventArgs e)
    {
        string ColumnName = ((TextBox)sender).Attributes["EventArg"];
        string FilterValue = ((TextBox)sender).Text;
        if (string.IsNullOrEmpty(FilterValue))
        {
            EntityDataSource1.Where = "";
        }
        else
        {
            int dummy;
            if (int.TryParse(FilterValue, out dummy))
            {
                EntityDataSource1.Where = "it." + ColumnName + " = " + FilterValue;
            }else
            {
                EntityDataSource1.Where = "it." + ColumnName + " Like '%" + FilterValue + "%'";
            }
        }
    }

aspx如下

<asp:TextBox ID="txtCaseNr" runat="server" CssClass="form-control" OnTextChanged="Filter_TextChanged"  AutoPostBack="true" TextMode="Number"></asp:TextBox>

到目前为止一切都有效,除了为了防止在文本框中写入期望整数的文本,我设置了textmode=number。并且在清空文本框以删除过滤器时不会触发它。

我希望我的问题很明确。欢迎任何解决方案。

谢谢,

0 个答案:

没有答案