2017-01-23 39 views
2

我在ASP.NET下有100个项目的下拉列表,其中用户将选择其中两个项目的概率很高。所以,我想使这两个项目出现在像下面的顶部,显示ASP.NET中下拉列表顶部的高优先级项目

Item 4 
Item 6 
...... 
Item 1 
Item 2 
Item 3 
Item 4 
Item 5 
Item 6 
Item 7 
Item 8 
Item 9 
Item 10 
. 
. 
. 
Item 100 

但用户不应该能够选择......选项。我如何在ASP.NET下拉列表中执行此操作?是否可以在不复制这些项目的情况下做到这一点?

回答

2

一种办法可以想补充一些最流行的静态项的下拉列表中,从一些数据库填充后

赞(如果下拉列表是从数据库填充):

. 
. 
DropDownList1.DataBind(); 

DropDownList1.Items.Insert(0, new ListItem("item 4", "item 4")); 

这将增加项目4总是在下拉列表的顶部。

编辑

您可以使用jQuery在前端要做到这一点:

$(document).ready(function() { 
 

 
$('#MyList option[value="item4"]').insertBefore('#MyList option[value="item1"]'); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<select id='MyList'> 
 
    <option value='--select--'>--select--</option> 
 
<option value='item1'>item1</option> 
 
<option value='item2'>item2</option> 
 
    <option value='item3'>item3</option> 
 
    <option value='item4'>item4</option> 
 
    </select>

+0

但是这样会让第4项权的重复,是有办法没有添加重复?我还想用分隔符将原始列表中的上述项目分开 –

+0

此外,您可以使用“select 2”插件将搜索栏添加到您的下拉列表中,以便用户能够轻松搜索所需的项目。 –

+0

看到我编辑的答案@ManoPrathibhanC –