2012-03-19 45 views
1

我有一个radiobuttonlist和像这样的文本框;背后Ajax控件工具包筛选器类型

<asp:RadioButtonList ID="RadioButtonFirm" runat="server" AutoPostBack="true" RepeatDirection="Horizontal" 
          OnSelectedIndexChanged="RadioButtonFirm_SelectedIndexChanged"> 
          <asp:ListItem id="option1" runat="server" Value="Code - int" /> 
          <asp:ListItem id="option2" runat="server" Value="Name - string" /> 
    </asp:RadioButtonList> 



<asp:TextBox ID="txtCriteria" Width="120px" SkinID="TextBoxDefault" runat="server"></asp:TextBox> 
          <asp:FilteredTextBoxExtender ID="txtCriteria_FilteredTextBoxExtender" runat="server" 
           Enabled="True" FilterType="Numbers" TargetControlID="txtCriteria"> 
</asp:FilteredTextBoxExtender> 

代码:

protected void RadioButtonFirm_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (RadioButtonFirm.SelectedIndex == 0) 
     { 
      txtCriteria_FilteredTextBoxExtender.FilterType = AjaxControlToolkit.FilterTypes.Numbers;    
     } 
     else 
     {   
      txtCriteria_FilteredTextBoxExtender.FilterType = AjaxControlToolkit.FilterTypes.Custom; 
     } 
    } 

它不工作。如果我更改了单选按钮,我仍然可以输入字符串值。我想根据单选按钮选择输入整数或字符串到文本框。

回答

1

您可以使用javascript来动态设置它。对于类型

TextBoxFilter.set_FilterType(2); 

值是

AjaxControlToolkit.FilterTypes.prototype = { 
    Custom   : 0x1,  //1 
    Numbers   : 0x2,  //2 
    UppercaseLetters : 0x4, //3 
    LowercaseLetters : 0x8 //4 
}