更新面板不能用于asp.net代码

时间:2014-03-29 08:45:37

标签: c# asp.net

这是我背后的c#代码

protected void callDispositionChanged(object sender, EventArgs e)
{
    var dropDown = (DropDownList)ListView1.FindControl("callDispositionSelector");
    var visitID = (TextBox)ListView1.FindControl("visitID");
    if (dropDown != null)
    {
        Response.Write(dropDown.SelectedValue + "ssssssssss");
        visitID.Text = dropDown.SelectedValue;
    }
    else
    {
        visitID.Text = "ffffff";
        Response.Write("FFFFFFFFFFFFFFFF");
    }               
}

这是我的asp代码

<asp:UpdatePanel ID="UpdatePanel3" UpdateMode="Conditional" runat="server">
                        <ContentTemplate>
                        <tr class="footer" runat="server">
                            <td colspan="4" runat="server">* By VoiceMpower
                               <asp:DropDownList AutoPostBack="true" runat="server"  ID="callDispositionSelector" OnSelectedIndexChanged="callDispositionChanged" clientidmode="Static">
                                   <asp:ListItem Value="-1">Select Disposition Reason</asp:ListItem>
                                   <asp:ListItem Value="1">Reservation</asp:ListItem>
                                   <asp:ListItem Value="2">Change of Reservation</asp:ListItem>
                                   <asp:ListItem Value="3">Cancellation</asp:ListItem>
                                   <asp:ListItem Value="4">Wait List</asp:ListItem>
                                   <asp:ListItem Value="5">Other</asp:ListItem>
                               </asp:DropDownList>
                                <asp:TextBox runat="server" ID="visitID" clientidmode="Static"></asp:TextBox>
                            </td>
                        </tr>
                         </ContentTemplate>
                    </asp:UpdatePanel>

当我更改select的值时,执行该函数,但结果(post back page)在devaul vaule中有select。

注释

我已经

<asp:ScriptManager ID="ScriptManager2" runat="server" />

注3

asp代码存在于item template

中的asp.listview

注2

我无法调试项目,因为服务器上的数据库和我不允许链接到它。因此,每次我开发一个functoin时,我都会在服务器上部署网站并对其进行测试。所以请在没有断点和类似的情况下让你的答案。提前谢谢

1 个答案:

答案 0 :(得分:1)

您正在使用条件模式,这意味着,除非触发事件,否则更新面板将无法工作。

删除它。

 <asp:UpdatePanel ID="UpdatePanel3" runat="server">
            <ContentTemplate>
                <tr class="footer" runat="server">
                    <td colspan="4" runat="server">* By VoiceMpower
                           <asp:DropDownList AutoPostBack="true" runat="server" ID="callDispositionSelector" OnSelectedIndexChanged="callDispositionChanged" ClientIDMode="Static">
                               <asp:ListItem Value="-1">Select Disposition Reason</asp:ListItem>
                               <asp:ListItem Value="1">Reservation</asp:ListItem>
                               <asp:ListItem Value="2">Change of Reservation</asp:ListItem>
                               <asp:ListItem Value="3">Cancellation</asp:ListItem>
                               <asp:ListItem Value="4">Wait List</asp:ListItem>
                               <asp:ListItem Value="5">Other</asp:ListItem>
                           </asp:DropDownList>
                        <asp:TextBox runat="server" ID="visitID" ClientIDMode="Static"></asp:TextBox>
                    </td>
                </tr>
            </ContentTemplate>
        </asp:UpdatePanel>