C# 需要访问下拉索引中记录的文本

C# 需要访问下拉索引中记录的文本,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我正在尝试在GridView仪表板中为onrowUpdate构建一些处理。我想检查一下,如果一个状态下拉列表选择了Complete,那么在Complete date文本框中是否输入了日期。我确信问题出在试图测试Complete的if语句中,但由于下拉列表绑定到sql表的索引,我不确定如何检查所选索引的文本值。例如,我确信我可以使用if(ddlStatus.SelectedValue==“5”),但作为一名编码员,我认为从维护的角度来看,检查“完成”更有意义 DDL的标记 <asp:Drop

我正在尝试在GridView仪表板中为onrowUpdate构建一些处理。我想检查一下,如果一个状态下拉列表选择了Complete,那么在Complete date文本框中是否输入了日期。我确信问题出在试图测试Complete的if语句中,但由于下拉列表绑定到sql表的索引,我不确定如何检查所选索引的文本值。例如,我确信我可以使用
if(ddlStatus.SelectedValue==“5”)
,但作为一名编码员,我认为从维护的角度来看,检查“完成”更有意义

DDL的标记

<asp:DropDownList ID="ddlStatus" runat="server" AutoPostBack="True" DataSourceID="ddlStatusSQL" 
DataTextField="TaskStatusName" DataValueField="TaskStatusID" SelectedValue='<%# Bind("TaskStatusID") %>'>
</asp:DropDownList>
嗨,试一试:

ddlStatus.SelectedItem.Text == "Complete"
protected void gvTask_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    GridViewRow gvr = gvTaskDashboard.Rows[e.RowIndex];

    // Get Controls
    DropDownList ddlStatus = (DropDownList)gvr.FindControl("ddlStatus");
    TextBox txtCompDate = (TextBox)gvr.FindControl("txtCompDate");

    // Test for Complete Date if Complete status selected
    if (string.IsNullOrWhiteSpace(txtCompDate.Text) && ddlStatus.SelectedValue == "Complete")
    {
        // Throw Error
        ClientScript.RegisterStartupScript(GetType(), "error", "alert('Enter Complete Date if Status is Complete.');", true);
    }
    else { TaskDashboardSQL.Update(); }
}
ddlStatus.SelectedItem.Text == "Complete"