如何从View中将javascript变量传递给MVC中的Controller

我想把一个javascript变量从MVC View中传递给Controller。 这是我自己选择的文本变量,我想传递给控制器​​,以便我可以检索并保存在Database.Any帮助将不胜感激我将分享我想要的代码

查看 – >我正在选择要传递给控制器​​的文本值

$(document).ready(function () { $("#stateID").change(function () { var state= $('#stateID :selected').text(); getCities(state); }); }); 

现在我想从mvc表单将此状态变量传递给控制器

 @using (Html.BeginForm("Register", "Registration", FormMethod.Post)) {  } 

现在,这是我想要检索的控制器代码

 [HttpPost] public ActionResult Register(RegisterModel Regmodel) { if (ModelState.IsValid) { return View(); } } 

谢谢@Rondles我的问题现在解决了,谢谢你们的快速共鸣

您可以在表单中为状态设置一个隐藏字段(我假设状态是RegisterModel上的属性?),并且在您的stateID.change函数中,它将值分配给隐藏字段,以便在提交时传递。

例如:

可以使用(在开始表单代码中)设置表单中的隐藏字段:

@Html.HiddenFor(model => model.StateID, new { id = hiddenStateID" })

然后你的jQuery将是(未经测试,这是更多的pseduo代码给你的想法):

 $(document).ready(function () { $("#stateID").change(function (){ var state= $('#stateID :selected').text(); getCities(state); $("#hiddenStateId").val(state); }); });