2011-08-26 49 views
1

以下代码在我的asp网站的日期下拉列表中填充1-31的下拉列表。如何使@ Html.DropDownListFor中的选定值作为以下代码?

@Html.DropDownListFor(
    model => model.eDate, 
    Enumerable.Range(1, 31).Select(i => new SelectListItem 
     { Value = i.ToString(), Text = i.ToString() })) 

现在我努力具有在下拉预选的值(例如,我想当前日期是一个选定的值)。我假设今天是3,然后我添加了代码来检查它是否为3,并相应地设置了Selected属性的值......它不起作用 - 当我在浏览器中查看源时,<option>中没有选定的属性。

@Html.DropDownListFor(
    model => model.eDate, 
    Enumerable.Range(1, 31).Select(i => new SelectListItem 
     { Value = i.ToString(), Text = i.ToString(), Selected = i == 3 })) 

请问专家能赐教吗?

回答

2

试试这个,它为我工作
控制器:

public ActionResult Index() 
{ 
    var mymodel = new MyModel() { 
     eDate = DateTime.Now.Day 
    }; 
    return View(mymodel); 
} 

查看:

@Html.DropDownListFor(
model => model.eDate, 
Enumerable.Range(1, 31).Select(i => new SelectListItem 
    { Value = i.ToString(), Text = i.ToString() })) 
+1

IT工作!非常感谢 - 诺普 – Nop

相关问题