【问题标题】:How to Pass javascript variable to Controller in MVC from View如何从视图将 javascript 变量传递给 MVC 中的控制器
【发布时间】:2014-04-05 17:04:09
【问题描述】:

我只想将一个 javascript 变量从表单的 MVC 视图传递给控制器​​。 这是我自己选择的文本变量,我想将它传递给控制器​​,以便我可以检索并保存在数据库中。任何帮助将不胜感激我正在分享我想要的代码

查看 -->我正在获取要传递给控制器​​的选定文本值

$(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 我的问题现在已经解决了,谢谢你们的快速反应

【问题讨论】:

  • 使用ajax调用控制器并传递你的参数
  • @zaki 实际上我不想使用 Ajax,因为我也有其他控件,并且我不想通过 json 发送 ..

标签: jquery asp.net-mvc html


【解决方案1】:

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

例如:

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

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

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

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

【讨论】:

  • 你能分享一些示例代码来实现这个
  • 嗨@Rondles 感谢您的代码对我有用,我的问题已经解决......非常感谢您的快速回复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-07
  • 1970-01-01
  • 2019-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多