为什么我的函数不会执行(ASP.NET)?

时间:2014-08-28 06:48:56

标签: asp.net function execute

基本上我有一个似乎无法激活的aspx页面功能。我创建了一个应该在下拉菜单的selectedindexchange上运行的函数。

<asp:TableCell>Credit Card Type: <asp:DropDownList
        id="DropDownCredit"
         OnSelectedIndexChanged="creditType"
        Runat="server">
        <asp:ListItem Text="Select" Value="Empty" />    
        <asp:ListItem Text="Visa" Value="Visa" />    
        <asp:ListItem Text="Mastercard" Value="Mastercard" />   
        <asp:ListItem Text="Discover" Value="Discover" />         
        <asp:ListItem Text="American Express" Value="American Express" />  
    </asp:DropDownList>

正如您所看到的,我添加了我的函数名称,以便在选择某些内容时运行。现在我的功能非常简单。

Protected Sub creditType()
        If DropDownCredit.SelectedIndex.ToString.StartsWith("A") Then
            TextBoxCardNumberAmerican.Enabled = True
        Else
            TextBoxCardNumberOthers.Enabled = True

        End If
    End Sub

顺便说一下,我已经将上面函数中提到的两个文本框设置为初始禁用,所以只有当一个文本框正确时才启用它。我猜这个字符串没有被正确解释。任何帮助都会很棒。

3 个答案:

答案 0 :(得分:1)

两件事:您的creditYpe方法应该有错误的签名:

    Protected Sub creditType(Object o, EventArgs e)

..并将AutoPostBack =“true”属性添加到您的asp控件


    Credit Card Type: <asp:DropDownList
        id="DropDownCredit"
         OnSelectedIndexChanged="creditType"
         AutoPostBack="true"
        Runat="server">
        <asp:ListItem Text="Select" Value="Empty" />    
        <asp:ListItem Text="Visa" Value="Visa" />    
        <asp:ListItem Text="Mastercard" Value="Mastercard" />   
        <asp:ListItem Text="Discover" Value="Discover" />         
        <asp:ListItem Text="American Express" Value="American Express" />  
    </asp:DropDownList>

答案 1 :(得分:0)

你应该添加AutoPostBack =&#34; True&#34;属性到下拉列表 只有这样才能执行服务器端子

答案 2 :(得分:0)

请设置

AutoPostBack="True"

在下拉列表中。像这样:

<asp:DropDownList id="DropDownCredit" 
OnSelectedIndexChanged="creditType" AutoPostBack="True" Runat="server">

该事件将触发