0

私は jquery を初めて使用し、次の問題を解決できません。mvc アプリケーションのコントローラーの 1 つにオブジェクトを渡したいです。これが私がこれまでに得たものです:

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");
    }
}
4

3 に答える 3

2

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 応答でリダイレクト アクションを返すことはできません。成功応答後にリダイレクトを行いたい場合は、クライアント側で行うことができます。

于 2013-07-11T13:58:43.997 に答える