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