1

我正在 Visual Studio mvc4 c# 中做一个项目,试图将字符串从视图中的 JavaScript 函数发送到控制器。我尝试像这样使用会话对象:

在视图中:

  Session["matStr"] = matrixString; 

在控制器中:

  var s = (string)Session["matStr"];  

但是当我到达控制器时,会话返回我为空。

所以我很高兴知道如何将 JS 字符串从视图发送到控制器的答案,谢谢。

4

3 回答 3

1

您可以使用以下代码调用控制器 Action

    $('#btnSendData').click(function() {
            //Send batch to the server  
                $.ajax({    
                        type: 'POST',  
                        url: '@Url.Action("SessionUpdate")',
                        contentType: 'application/json; charset=utf-8', 
                        data: JSON.stringify(sessionvalue),    
                        success: function(result) {
                            alert(result);
                        }
                    });
                return false;
            });

这里 SessionUpdate 是一个控制器操作,您可以将会话值设置为在 sessionvalue 变量中发送并可以获得结果。

于 2013-05-09T05:35:31.997 回答
0

您需要name在输入中包含一个。这就是 MVC 用来与 POSTS 的视图和控制器通信的方法。

<input type="hidden" id="hid1" name="hid1"/>

$("#hid1").val("string");

然后在您的控制器操作上,您将其用作参数。

public ActionResult Index(string hid1)
{
    return View()
}
于 2015-04-21T15:45:29.757 回答
0

使用输入隐藏字段

<input type="hidden" id="hid1" runat="server"/>

$("#hid1").val("the val from client to server");

然后在服务器端获取值。我希望这就是你所需要的。(在服务器端使用字符串)。

您也可以只使用一些跨度在控制器中设置字符串

于 2013-05-09T05:30:10.007 回答