2013-07-05 30 views
3

我正在使用ASP.NET,并且我动态地填充了我的DropDownList。 这里是我的代码:asp.net隐藏使用javascript的下拉列表中的具体项目

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(); 

现在我只想使用Javascript选择了其他的DropDownList时隐藏特定的项目。 我没有在这里使用SelectedIndexChanged。我必须使用Javascript。

请有人帮我这个。

THX

回答

0

我不认为你可以用JavaScript来操纵的DropDownList和“摆脱它”,因为当页面随后被回发到服务器ASP .NET将检测到的DropDownList已被“篡改”并将抛出异常。

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

通常你会用SelectedIndexChanged(我知道你说你不想要)来实现你想要做的事情,并把控件放在UpdatePanel或类似的位置,以避免整页的回传/刷新。

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);   
    } 
} 
} 
相关问题