如何将值从javascript传递给控制器​​?

时间:2015-05-26 14:31:48

标签: asp.net-mvc

我有JavaScript代码:

<script>
    function ChangeRegion()
    {
        var countryId = document.getElementById("country").value;

    }
</script>

我的观点中有文字框:

@Html.DropDownListFor(m => m.Register.SelectCountryId, Model.Register.Country, "Select country", new { id = "country", @class = "form-control",@onchange="ChangeRegion();" })

现在我需要进行更改以将值传递给我的控制器以获取区域

我的控制员:

 model.Register.Region = new SelectList(manager.GetRegions(model.Register.SelectCountryId), "Id", "Name");

编辑:这是我的帖子控制器:

当我选择国家并点击提交按钮时,我会获得raegions的值,但我需要在不提交表单的情况下获取值

model.Register.Country = new SelectList(manager.GetCountries(), "Id", "Name");  
model.Register.Region = new SelectList(manager.GetRegions(model.Register.SelectCountryId), "Id", "Name");<-- i want to put here that id from javascript
model.Register.WebTypeOfLicense = new SelectList(CommonDbService.GetAllLicense(), "Id", "Name");
model.Register.City = new SelectList(manager.GetCities(model.Register.SelectRegionId), "Id", "Name");
return View(model);

1 个答案:

答案 0 :(得分:0)

以下是使用您的函数使用Ajax Post的示例

这会将HTML元素的值发布到Home控制器上的GetData操作。一旦它到达GetData方法,它将返回它并在客户端上显示警报。

function ChangeRegion() {
    var countryId = document.getElementById("country").value;

    $.post('/Home/GetData', { 'CountryId': countryId }, function (d) {
        alert(d);
    }, 'json');
}

此代码位于我的HomeController中,

public JsonResult GetData(int CountryId)
{
    return Json(CountryId);
}

很抱歉,如果这还不够清楚,如果您需要更多指示,请发布一些代码,例如controller&amp;行动名称。

由于