3

我正在使用 ASP.NET,我正在动态填充我的 DropDownList。这是我的代码:

  DataTable dtList = new DataTable();
        dtList.Columns.Add("Name");
        dtList.Columns.Add("Type");

foreach (DataDefinitionResponse dr in _dr)
        {
            if (dr.Type == "Dropdown")
            {
                string[] strSplit = dr.ListValue.Split('|');
                List<string> lst = new List<string>();

                foreach (string word in strSplit)
                {
                    DataRow row = dtList.NewRow();
                    row["Name"] = word;
                    row["Type"] = dr.Name;
                    dtList.Rows.Add(row);
                }
            }
        }

ddlFieldList.DataSource = dtList;
        ddlFieldList.DataTextField = "Name";
        ddlFieldList.DataValueField = "Type";
        ddlFieldList.DataBind();

现在我只想在选择另一个 DropDownList 时使用 Javascript 隐藏特定项目。我在这里没有使用 SelectedIndexChanged。我必须使用 Javascript。

请有人帮我解决这个问题。

谢谢

4

2 回答 2

0

我不认为您将能够使用 JavaScript 操作 DropDownList 并“摆脱它”,因为当页面随后被发回服务器时,ASP .NET 将检测到 DropDownList 已被“篡改”并抛出一个例外。

您可以设置一些标志来阻止错误,但您不太可能在代码隐藏中使用 DropDownList。

您通常会实现您想要做的事情SelectedIndexChanged(我知道您说过您不想这样做)并将控件放在一个UpdatePanel或类似的位置以避免整页回发/刷新。

于 2013-07-05T10:20:13.343 回答
0
function Remove()
{
var DropDownList=document.getElementById('<%=DropDownList1.ClientID%>');
alert(DropDownList.value);
for(i=DropDownList.length-1; i>=0; i--) 
{
    if(DropDownList.options[i].selected)
    {
       DropDownList.remove(i);         
    }
}
}
于 2013-07-05T11:42:13.897 回答