将javascript变量从视图传递给控制器​​并保存在另一个变量中

时间:2016-09-14 17:31:12

标签: javascript asp.net-mvc

我想知道是否可以将javascript变量传递给控制器​​。我要做的是在我的控制器中有一个变量,当用户登录时开始为空,在我的视图中,我将验证变量是否为空,如果它是空的,则调用javascript提示,我保存我在javascript变量中写的文本,但我不知道如何将文本传递给我的控制器变量。  这就是我在代码中尝试的内容:

控制器:

 ViewData["Contenedor"] = contenedor;

我将变量传递给视图中的ViewData并验证if是否为空。如果它为空,则调用提示:

@if (ViewData["Message"] == null){
<script type="text/javascript">
        window.onload = function () {
        var contenedorID = prompt("Ingrese ID del Contenedor a Ingresar", "");
        -- Here I want to do something to pass my variable contenedorID to my controller variable contenedor ---
    };
</script>

1 个答案:

答案 0 :(得分:0)

@if (ViewData["Message"] == null){
<script type="text/javascript">
        window.onload = function () {
        var contenedorID = prompt("Ingrese ID del Contenedor a Ingresar", "");
        -- Here I want to do something to pass my variable contenedorID to my controller variable contenedor ---

@ViewData["Message"] = "variablevalue you want to pass"

    };
</script>

这是将数据存储在viewdata中,当您回发时,该数据可以在控制器中访问。这样做无需更改任何现有代码。

更干净的方法是做一个ajax帖子或使用@ Html.HiddenFor在隐藏变量中设置值,正如其他人所建议的那样。