在我的ASP.NET MVC应用程序中,我在页面上的表单中有一个下拉列表,其中在页面加载时应该选择的下拉列表项目应该被选中。
页面的ViewModel具有SelectListItems列表的属性,该列表应该用于填充下拉列表:
参见下面的视图模型和"索引" class,将HeaderItemID作为其中一个属性:
public class IndexItemResult
{
public Index FocalIndex { get; set; }
public string FocalIndexHeaderItemText { get; set; }
public List<Item> IndexItems { get; set; }
public List<SelectListItem> ItemSelectList { get; set; }
public List<Item> ItemList { get; set; }
public IndexItemResult() { }
}
public class Index
{
public int IndexID { get; set; }
public string IndexName { get; set; }
public int IndexHeaderItemID { get; set; }
}
我设置&#34;文字&#34;,&#34;值&#34;和&#34;选择&#34;来自我的控制器中的数据库LINQ查询的SelectListItems中的项的属性。此方法还设置了&#34; FocalIndex&#34; ViewModel的属性。由于HeaderItemID是FocalIndex的一个属性,因此我假设&#34; HeaderItemID&#34;可以作为可以绑定的字段使用。
&#34; HeaderItemID&#34;是应该选择的项目。当我查看生成的SelectListItems列表时,一切看起来都没问题 - &#34; text&#34;和&#34;价值&#34;属性都很好,正确的项目被指定为&#34;选择&#34;。
private IndexItemResult GetIndexItemResult(int? indexID)
{
IndexItemResult indexItemResult = new IndexItemResult();
Index focalIndex = db.Indexes.Find(indexID);
indexItemResult.FocalIndex = focalIndex;
int HeaderItemID = focalIndex.IndexHeaderItemID;
indexItemResult.ItemSelectList = db.ItemTexts.
Where(it => it.LanguageID == 1).
Select(iText =>
new SelectListItem
{
Selected =
(
iText.ItemID == HeaderItemID ? true : false
),
Value = iText.ItemID.ToString(),
Text = String.Concat(iText.ID.ToString(), " ", iText.Text)
}).ToList();
return indexItemResult;
}
然后我在页面上有一个表单,在那里我用@Html.DropDownList
帮助器指定下拉列表。我从第二个参数中的ViewModel传递SelectListItems列表。
@Html.DropDownList("IndexHeaderItemID", Model.ItemSelectList,
htmlAttributes: new { @class = "form-control", @id = "HeaderItemDDL" })
下拉列表按预期呈现所有项目,但是应该设置为&#34;选择&#34;未被选中。而是选择第一个项目。 对于我在这里缺少的内容有任何建议吗?
答案 0 :(得分:1)
我看不到你在import java.util.*;
public class EvenOdd{
private static int[] array;
private static List<Integer> even = new ArrayList<>();
private static List<Integer> odd = new ArrayList<>();
Scanner sc = new Scanner();
int numbers = sc.nextInt();
public static void classify() {
for(int i = 0 ; i < array.length ; i++){
if(numbers==-1){
if(array[i] % 2 == 0)
even.add(array[i]);
else
odd.add(array[i]);
}
}
}
public static void display(List<Integer> list){
for(Integer i : list)
System.out.println(i);
}
public static void main(String[] args){
classify();
display(even);
}
}
名ModelState
中实际设置任何内容的地方。由于这是您要绑定的名称,因此必须将IndexHeaderItemID
,Request["IndexHeaderItemID"]
,ViewData["IndexHeaderItemID"]
或ViewBag.IndexHeaderItemID
中的一个设置为您希望选择的值。< / p>