C# 从SQL填充的下拉列表

C# 从SQL填充的下拉列表,c#,asp.net,dropdownbox,C#,Asp.net,Dropdownbox,我有一个下拉列表和从SQL中获取的值 有4种选择。我需要在其中一个选项上打开textbox.visible=false 我不确定这是否正确。我在SQL中有它作为取消原因 protected void ddlCancelReason_SelectedIndexChanged(object sender, EventArgs e) { string Item = ddlCancelReason.SelectedValue; if (Item == "Non-Payment")

我有一个下拉列表和从SQL中获取的值

有4种选择。我需要在其中一个选项上打开
textbox.visible=false

我不确定这是否正确。我在SQL中有它作为取消原因

protected void ddlCancelReason_SelectedIndexChanged(object sender, EventArgs e)
{
    string Item = ddlCancelReason.SelectedValue;

    if (Item == "Non-Payment")
    {
        tbReturn.Visible = false;
    }

}

您是否将
SelectedIndexChanged
事件绑定到您的
DropDownList
?如果您这样做了:

在您的情况下,它将不起作用,因为您没有启用
DropDownList
AutoPostBack
-属性

将您的
下拉列表更改为:

<asp:dropdownlist id="ddlCancelReason" runat="server" datatextfield="Cancel_Reason" datavaluefield="ID"> </asp:dropdownlist>

你的代码有什么问题?您是否遇到错误?这是WinForms还是ASP.NET?它不会出错。文本框仍然存在。应用程序运行时没有任何错误。只需在
if
语句上放置一个断点,看看值是什么。它仍然不起作用。这可能会对您有更多帮助:是的。第二个提示“对象引用未设置为对象的实例”。@user3508633您能在页面加载中显示代码吗?
<asp:dropdownlist id="ddlCancelReason" AutoPostback="true" runat="server" datatextfield="Cancel_Reason" datavaluefield="ID"> </asp:dropdownlist>
protected void ddlCancelReason_SelectedIndexChanged(object sender, EventArgs e)
{
    string Item = ddlCancelReason.SelectedValue;

    if (Item == "Non-Payment")
    {
        tbReturn.Visible = false;
    }
}