Asp.net Dropdownlist onchange在使用数据表将值分配给Dropdownlist后未触发
我在jobs.aspx页面上有以下下拉列表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
<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
{
}
}
}
}