c# - 如何通过 Jquery Ajax Get 将对象传递给 MVC Controller

标签 c# javascript asp.net-mvc jquery

我是 jquery 新手,无法解决以下问题:我想将一个对象传递给我的 mvc 应用程序中的 Controller 之一。这是我到目前为止所得到的:

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;

但是每次当我按下回车键时我都会失败。我的 Controller 位于 ~/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 响应返回重定向操作。 如果您想在响应成功后进行重定向,可以在客户端进行。

关于c# - 如何通过 Jquery Ajax Get 将对象传递给 MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17595326/

相关文章:

c# - 使用 “dynamic”类型会产生编译错误

javascript - JQuery - 将光标放在文本区域的末尾

asp.net-mvc - Elmah 未记录 404(缺少文件/图像)

javascript - 通过 Javascript 检索数据库记录

c# - 无法在 Visual Studio 2015 中构建通用应用程序

c# - ASP.NET Global.asax Application_Error 有效但在使用 Error 事件时无效

c# webbrowser 控件不导航到另一个页面

php - 将变量从 javascript 函数传递到 codeigniter 中的 Controller 方法

javascript - 使用客户端脚本从远程网站获取所有 HTML

c# - 如何格式化未在 C# MVC 中初始化的小数?