使用AJAX或其他方式将所选下拉列表发布到控制器MVC

使用AJAX或其他方式将所选下拉列表发布到控制器MVC,ajax,asp.net-mvc,Ajax,Asp.net Mvc,我需要将所选项目的id从下拉列表发布到同一控制器的post方法,并在同一视图中呈现内容 请尽快帮我:( 我的看法 @Html.DropDownListFor(x => x.hotelmodel.SelectedHotelId, Model.hotelmodel.DrpHotelList) <div> <p>@Model.percentageoccupied</p> <p>@Model.Revenue</p> <p

我需要将所选项目的id从下拉列表发布到同一控制器的post方法,并在同一视图中呈现内容 请尽快帮我:(

我的看法

    @Html.DropDownListFor(x => x.hotelmodel.SelectedHotelId, Model.hotelmodel.DrpHotelList)
<div>
<p>@Model.percentageoccupied</p>
 <p>@Model.Revenue</p>
 <p>@Model.UnSold</p>
<div>
我的httppost方法

     [HttpPost]

        public ActionResult Counter(int id)
        {
            var result = iCommonservice.LoadCounter(id);
            model.percentageoccupied = Convert.ToInt32(result[0].percentageoccupied);
            model.Revenue = Convert.ToDecimal(result[0].Revenue);
            model.UnSold = Convert.ToInt32(result[0].UnSold);
            return View(model);
        }

在POST方法中,将视图模型作为参数传递。然后可以使用posted
hotelModel。SelectedHotelId
根据需要更新模型值并将更新后的模型传递给视图

    public ActionResult Counter(CounterforModel model)
    {
        var result = iCommonservice.LoadCounter(model.hotelmodel.SelectedHotelId);
        model.percentageoccupied = Convert.ToInt32(result[0].percentageoccupied);
        model.Revenue = Convert.ToDecimal(result[0].Revenue);
        model.UnSold = Convert.ToInt32(result[0].UnSold);

        return View(model);
    }

如果需要,可以使用
@Ajax.BeginForm()
jQuery.Ajax()
对您的操作进行ajax调用。您可以查看。

我将此SelectedHotelId传递给一个服务类,该服务类将获取您在httpost方法上看到的已占用百分比、收入和未售出值列表。问题是DropDownList不回所选值。我尚未实现ajax调用。我是ajax新手。我不想o了解我的需求的ajax语法。是的,CounterforModel包含名为hotelmodel的复杂属性,其中包含一个属性int SelectedHotelId参数只是一个原型。我已经更新了actionresult
    public ActionResult Counter(CounterforModel model)
    {
        var result = iCommonservice.LoadCounter(model.hotelmodel.SelectedHotelId);
        model.percentageoccupied = Convert.ToInt32(result[0].percentageoccupied);
        model.Revenue = Convert.ToDecimal(result[0].Revenue);
        model.UnSold = Convert.ToInt32(result[0].UnSold);

        return View(model);
    }