Почему мои параметры не отправляются на контроллер с помощью этой ссылки ajaxlink и вызова?

0

Я использую ActionLink и ajax-вызов для частичного просмотра на родительской странице. Проблема заключается в моем контроллере, а частичный вид вызывается дважды, а во втором вызове параметры, переданные в действие, равны нулю.

Ive попробовал две версии ActionLink. Один вызывает контроллер только один раз, но параметры равны нулю. Второй делает два вызова, а во второй раз - theyre null

Как я могу предотвратить второй вызов, который отправляет нулевые параметры или если должен быть второй вызов, как я могу поддерживать значения?

Вот ссылка, которая делает два вызова:

     @Ajax.ActionLink(stdFName, "Action", "Controller", new { studentNumber = stdNum }, new    AjaxOptions { UpdateTargetId = "theTimes", InsertionMode = InsertionMode.Replace, HttpMethod = "GET" }, new { @class = "studentName", id = "linkNo" + appendId.ToString() }); 

Heres ссылка, которая делает только один вызов, но параметры равны нулю

   @Ajax.ActionLink(stdFName, "Action", "Controller", new AjaxOptions { UpdateTargetId = "theTimes", InsertionMode = InsertionMode.Replace, HttpMethod = "GET" }); 

Вот сценарий:

    $("a.studentName").on("click", function () {
        var linkID = this.id;
        var theProp = $(this).attr("href");
        alert(theProp + linkID);

        var equalPosition = theProp.indexOf("=");
        var pram = theProp.substring(equalPosition + 1);
        alert(pram);

        var parms = { data: linkID };

        $.ajax({
            type: "GET",
            url: "/Controller/Action",
            data: parms,
            dataType: "html",
            success: function (data) {
                $("theTimes").html(data);

            }


        });

    });
Теги:
asp.net-mvc-3

1 ответ

0
Лучший ответ

Ваш первый actionlink вызовет javascript, который вы написали, а второй - нет (вы не задали класс на втором).

Ваш первый actionlink вызовет JavaScript и выполнит второй вызов из самой ссылки. следовательно, два вызова. Я уверен, что один вызов имеет правильные параметры, а второй -

Вам нужно сопоставить параметры, которые вы передаете с действием:

var parms = { studentNumber: linkID };

предполагая, что у вас есть параметр studentnumber

public action Action(string studentNumber){//do stuff and return partial view}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню