Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Dropdownlist onchange在使用数据表将值分配给Dropdownlist后未触发_Asp.net_Drop Down Menu_Onchange - Fatal编程技术网

Asp.net Dropdownlist onchange在使用数据表将值分配给Dropdownlist后未触发

Asp.net Dropdownlist onchange在使用数据表将值分配给Dropdownlist后未触发,asp.net,drop-down-menu,onchange,Asp.net,Drop Down Menu,Onchange,我在jobs.aspx页面上有以下下拉列表 <asp:DropDownList ID="ddlCurrentJobTitle" runat="server" class="ComboStyle" ClientIDMode="Static" size="1" ONCHANGE="ShowHideFields()"> 之后,用户选择employee,并根据employee_id,使用Datatable为ddlCurrentJobTitle赋值 public static void Di

我在jobs.aspx页面上有以下下拉列表

<asp:DropDownList ID="ddlCurrentJobTitle" runat="server" class="ComboStyle" ClientIDMode="Static" size="1" ONCHANGE="ShowHideFields()">
之后,用户选择employee,并根据employee_id,使用Datatable为ddlCurrentJobTitle赋值

public static void DisplayJobTitleByEmployee(DropDownList ddlCurrentJobTitle, int empID)

    {
        using (DataTable dt = dbObj.GetJobTitleByEmployee(empID))
        {
            if (dt != null && dt.Rows.Count > 0)
            {
                try
                {
                    ddlCurrentJobTitle.SelectedItem.Text = dt.Rows[0]["JobTitle"].ToString();
                    ddlCurrentJobTitle.SelectedValue = dt.Rows[0]["JobCodeID"].ToString();
                }
                catch
                {
                }
            }
        }
    }
问题是:

在第一次加载页面并且
ddlCurrentJobTitle
中填充作业后,如果我手动选择作业,则调用
ShowHideFields()
,并根据作业标题显示和隐藏表行

但是,当我选择employee并且使用datatable以编程方式为
ddlCurrentJobTitle
赋值时,表行不会根据jobtitle显示和隐藏

可能未触发
ShowHideFields()

我希望根据datatable文本/值分配调用
ShowHideFields()


请注意,我不想使用
AutoPostBack=“true”

如果您不想在更改时将其发回,您希望如何启动服务器端功能?服务器没有心灵感应功能…很抱歉,但我希望javascript函数ONCHANGE=“ShowHideFields()”在客户端启动。谢谢。在这种情况下,答案很简单,asp中的“onchange”是asp的事件。如果您希望客户端函数在发生更改时启动,那么在aspx页面上应该是“OnClientChange”或者类似的东西,如果我没记错的话
public static void DisplayJobTitleByEmployee(DropDownList ddlCurrentJobTitle, int empID)

    {
        using (DataTable dt = dbObj.GetJobTitleByEmployee(empID))
        {
            if (dt != null && dt.Rows.Count > 0)
            {
                try
                {
                    ddlCurrentJobTitle.SelectedItem.Text = dt.Rows[0]["JobTitle"].ToString();
                    ddlCurrentJobTitle.SelectedValue = dt.Rows[0]["JobCodeID"].ToString();
                }
                catch
                {
                }
            }
        }
    }