我是jquery新手,无法解决以下问题:我想将一个对象传递给我的mvc应用程序中的一个控制器。这是到目前为止我得到的:
function enterPressed() {
$(function () {
$('#textBox').keypress(function (e) {
var code = e.keyCode ? e.keyCode : e.which;
if (code == 13) {
doSomethingElse(textBox.value)
}
});
});
}
function doSomethingElse(p) {
$.ajax({
type: 'GET',
data: {string: p},
url: '"Control/AddControl/Index"',
success: function (data) { alert(p) },
error: function (errorData) { alert("fail") }
});
return true;
但是,每当我按Enter键时,我都会失败。我的控制器位于〜/ Controllers / Control / AddControl中。你们有没有看到这个问题?
我的C#代码:
public class AddControlController : Controller
{
//
// GET: /AddControl/
public ActionResult Index(string control)
{
return RedirectToAction("ShowControl");
}
}
最佳答案
您应该按照预期的方式将值名称更改为control
。您也可以使用@Url.Action()
助手来设置url
参数。
$.ajax({
type: 'GET',
data: { control : p},
url: '@Url.Action("Index","AddControl")',
success: function (data) { alert(p) },
error: function (errorData) { alert("fail") }
});
最后,您的操作无法返回带有Ajax响应的重定向操作。
如果要在成功响应后进行重定向,则可以在客户端进行重定向。