отсутствует) после ошибки списка аргументов при использовании Ajax.ActionLink mvc2 - PullRequest
1 голос
/ 14 сентября 2010

У меня есть эта actionlink, который генерирует эту ошибку в firefox

<%: Ajax.ActionLink(" ", "SelectEditProduct", new { id = item.Id }, new AjaxOptions { UpdateTargetId = "dialog", InsertionMode = InsertionMode.Replace, OnSuccess = "$(\"#dialog\").dialog(\"open\");"}, new { Class="edit"})%>

Похоже, это происходит из небольшого фрагмента JavaScript, который у меня есть.Я избежал цитат, хотя, так что я в тупике.

Ответы [ 2 ]

2 голосов
/ 14 сентября 2010

Здесь я вижу, что вы используете jQuery вместе с Microsoft AJAX. У этих двоих нет причин смешиваться в одном проекте, и если у вас уже есть jQuery, то другой совершенно бесполезен. Поэтому вместо того, чтобы загрязнять вашу разметку с помощью javascript и интересоваться, как избегать одинарных и двойных кавычек с косой чертой и получать множество ошибок, сделайте это незаметно (способ jQuery):

<%: Html.ActionLink(
    "Some link text", 
    "SelectEditProduct", 
    new { id = item.Id }, 
    new { @class = "edit" }
) %>

И в отдельном js файле:

$(function() {
    $('a.edit').click(function() {
        // When a link with class="edit" is clicked
        // send an AJAX request to the href and replace the result
        // of a DOM element with id="dialog" with the response
        // returned by the server
        // Also when the request completes show a jQuery dialog.
        $('#dialog').load(this.href, function() {
            $('#dialog').dialog('open');
        });
        return false;
    });
});
1 голос
/ 14 сентября 2010

Вы должны передать имя функции OnSuccess, вы не можете написать свою функцию прямо в AjaxOptions.Поэтому измените свой код на:

<%: Ajax.ActionLink(" ", "SelectEditProduct", new { id = item.Id }, new AjaxOptions { UpdateTargetId = "dialog", InsertionMode = InsertionMode.Replace, OnSuccess = "openDialog"}, new { Class="edit"})%>

А затем напишите соответствующую функцию JavaScript:

openDialog = function() {
    $("#dialog").dialog("open");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...