【发布时间】:2016-09-29 14:41:00
【问题描述】:
如何在视图中创建一个值为 1-10(int) 的 DropDownList 并将选定的值传递给控制器?
UserReview 模型:
public System.Guid Id { get; set; }
public System.Guid UserId { get; set; }
public System.Guid ReviewId { get; set; }
public Nullable<int> Rating { get; set; }
控制器:
public ActionResult Rating(Guid id) //got its ReviewId from previous page
{
//so far empty, no clue what to do
return Content("");
}
【问题讨论】:
-
要创建 SelectList,您可以使用
var options = new SelectList(IEnumerable.Range(1, 10));并将其传递给视图。您需要展示您的模型和控制器方法(您尝试过什么) -
@StephenMuecke 我用模型更新了问题。我尝试添加您的
var options =..,但无法解析Range符号。 -
您的模型需要绑定到(所选值)的属性,例如
int SelectedRating和SelectList的属性,例如IEnumerable<SelectListItem> RatingList,并且您根据我的第一条评论中的代码。然后在视图中它只是@Html.DropDownListFor(m => m.SelectedRating, Model.RatingList) -
糟糕,抱歉,这是
Enumerable.Range()(不是IEnumerable.Range()) -
@StephenMuecke 你介意用我的代码演示一下吗?我尝试了您的解决方案但失败了。我会更新我尝试的更改。
标签: c# asp.net-mvc