DropDownList onchange

问题描述

我想在我的页面上有一个 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 (将#修改为@)