2016-11-04 42 views
0

我在出场顺序在UI显示如何使一个特定的下拉菜单选择先来

  1. 页脚
  2. BLABLA

我希望有一个下拉和元素在UI中显示Header顶部位置的下拉列表。

  1. 部首
  2. 页脚
  3. BLABLA

代码UI:

<select id="simTextEditorSelection" onchange="ShowTextEditorBasedOnSelection();" style="float:right;"> 
    @foreach (PageInfoMV anItemForEditor in Model.ItemContents) 
    { 
     <option value="@anItemForEditor.ItemId">@anItemForEditor.ItemDisplayText</option> 
    } 

我可以以某种方式在代码提及上面显示特定ID作为默认(TOP位置)。

Model.ItemContents:

public List<PageInfoMV> ItemContents 
{ 
    get 
    { 
     if (this.itemContents == null) { this.itemContents = new List<PageInfoMV>(); } 

     if (!this.itemContents.Any(x => x.ItemId == Constants.HEADER_ID)) 
     { 
      this.itemContents.Add(new PageInfoMV() { ItemId = Constants.HEADER_ID, ItemDisplayText = Constants.HEADER_DISPLAY_TEXT }); 
     } 

     if (!this.itemContents.Any(x => x.ItemId == Constants.FOOTER_ID)) 
     { 
      this.itemContents.Add(new PageInfoMV() { ItemId = Constants.FOOTER_ID, ItemDisplayText = Constants.FOOTER_DISPLAY_TEXT }); 
     } 

     return this.itemContents; 
    } 

    set { this.itemContents = value; } 
} 

Constants.cs

public static readonly string HEADER_ID = "-1000"; 
public static readonly string FOOTER_ID = "-1001"; 

它只是一个代码段。如果需要更多的代码块,请让我知道。谢谢。

+0

Howz'Constants'样子? –

+0

添加了代码片段。 – Unbreakable

回答

0

如果你对ItemContents有控制权,我会建议增加一个任意值来排列你的内容值;例如标题是0,页脚是1个等等,那么你可以使用这个在你的观点做一个OrderBy()

@foreach (PageInfoMV anItemForEditor in Model.ItemContents.OrderBy(ic => ic.OrderValue)) 
{ 
    ... 
} 

编辑:

@foreach (PageInfoMV anItemForEditor in Model.ItemContents.OrderBy(ic => ic.OrderValue) 
.ThenBy(ic => ic.SomeOtherValueMaybeName)) 
{ 
    ... 
} 
:对剩余项目

可选的附加订购

+0

我猜测它会影响显示过程中所有下拉内容的顺序? – Unbreakable

+0

它可以,但如果你给其余的相同的价值,但高于页脚和标题,你可以然后命名的名称或任何你想要的。例如,其他的一切都是10. – JanR

+0

我会尽力回复你。非常感谢。 – Unbreakable

0

如果您的标题选项值是常量,那么您应该将其设置在标题顶部。

<select id="simTextEditorSelection"> 
    <option value="Footer">Footer</option> 
    <option value="Header"> Header</option> 
    <option value="Blabla">Blabla</option> 
</select> 
<script> 
     var val1=$("#simTextEditorSelection").find('option:eq(0)').val(); 
     $('#simTextEditorSelection option[value="Header"]').insertBefore('#simTextEditorSelectionoption[value="'+val1+'"]'); 
</script> 

var val1=$("#simTextEditorSelection").find('option:eq(0)').val(); 
 
$('#simTextEditorSelection option[value="Header"]').insertBefore('#simTextEditorSelection option[value="'+val1+'"]');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="simTextEditorSelection"> 
 
    <option value="Footer">Footer</option> 
 
    <option value="Header"> Header</option> 
 
    <option value="Blabla">Blabla</option> 
 
</select>

相关问题