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

时间:2014-03-04 09:05:00

标签: jquery asp.net-mvc html5

我想将一个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))
{
    <input type="submit" value="Save" style="text-align:center"  />
}

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

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

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

1 个答案:

答案 0 :(得分:6)

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

e.g:

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

@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);
        });
 });