我正在 Visual Studio mvc4 c# 中做一个项目,试图将字符串从视图中的 JavaScript 函数发送到控制器。我尝试像这样使用会话对象:
在视图中:
Session["matStr"] = matrixString;
在控制器中:
var s = (string)Session["matStr"];
但是当我到达控制器时,会话返回我为空。
所以我很高兴知道如何将 JS 字符串从视图发送到控制器的答案,谢谢。
您可以使用以下代码调用控制器 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 变量中发送并可以获得结果。
您需要name
在输入中包含一个。这就是 MVC 用来与 POSTS 的视图和控制器通信的方法。
<input type="hidden" id="hid1" name="hid1"/>
$("#hid1").val("string");
然后在您的控制器操作上,您将其用作参数。
public ActionResult Index(string hid1)
{
return View()
}
使用输入隐藏字段
<input type="hidden" id="hid1" runat="server"/>
$("#hid1").val("the val from client to server");
然后在服务器端获取值。我希望这就是你所需要的。(在服务器端使用字符串)。
您也可以只使用一些跨度在控制器中设置字符串