问题描述
我想在我的页面上有一个 DropDownList。当用户从 DropDownList 中选择一个项目时,该项目的值应该被添加到一个列表中。值是博客条目的评级。添加后,在 DropDownList 中应显示所有评分的平均值。有谁知道它是如何工作的?我发现我可以使用 onChange 但这调用了一个 js 函数。如何为当前博客条目添加费率?
public class BlogEntry {
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; private set; }
public double[] ratingList;
[NotMapped]
public double rating {
get {
return ratings.Average(x => x.Rate);
}
set {
}
}
private ObservableCollection<rating> ratings;
public virtual ObservableCollection<rating> ratings {
get { return ratings; }
set {
ratings = value;
}
}
public BlogEntry() {
ratings = new ObservableCollection<rating>();
ratingList = new double[6];
ratingList[0] = rating;
for (int i = 1; i < 6; i++)
ratingList[i] = i;
}
}
@model GOD_SharedData.BlogEntry
@{
ViewData["Title"] = "Details";
}
<h1>Details</h1>
<div>
<h4>BlogEntry</h4>
<hr />
<dl class="row">
<dt class="col-sm-2">
@Html.displayNameFor(model => model.rating)
</dt>
<dd class="col-sm-10">
@Html.DropDownListFor(model => model.rating,new SelectList(Model.ratingList),new { @class = "form-control",@onChange = "SelectedValue(this)" })
</dd>
</dl>
</div>
<div>
<a asp-action="Edit" asp-route-id="@Model.ID">Edit</a> |
<a asp-action="Index">Back to List</a>
</div>
<script>
//To get selected value an text of dropdownlist
function SelectedValue(ddlObject)
{
//Selected value of dropdownlist
var selectedValue = ddlObject.value;
//Selected text of dropdownlist
var selectedText = ddlObject.options[ddlObject.selectedindex].innerHTML;
alert(" Selected Value: " + selectedValue + " -- " + "Selected Text: " + selectedText + " " + @Model.ID);
}
</script>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)