Обратная передача ASP.NET с jQuery?

Если вы знаете, сколько уровней может быть вложено, вы можете использовать Eager Loading. Скажем, если максимальная глубина составляет 3 уровня, вы можете сделать:

$model->with('parent.parent.parent');

Вы также можете использовать рекурсию вместо цикла.

public function getParentsAttribute()
{
    if (!$this->parent) {
        return collect([]);
    }

    return collect($this->parent->parents)->push($this->parent);
}

Если вы тоже хотите добавить первый объект (само), полный вызов будет:

$model->parents->push($model)->reverse->implode('attr_name', '/');

, который вы также можете включить в атрибут

public function getPathAttribute() {
    return $model->parents->push($model)->reverse->implode('attr_name', '/');
}
[119 ] И звоните как $model->path;

15
задан ProgramFOX 28 October 2013 в 15:01
поделиться

5 ответов

Хотя вы можете выполнять Postbacks с помощью JQuery, может быть лучше вызвать веб-метод (веб-сервис, который находится на вашей странице). Вызов также может быть быстрее, потому что вы не публикуете всю страницу ViewState.

6
ответ дан 1 December 2019 в 02:10
поделиться

Посмотрите, поможет ли это: http://www.codeproject.com/KB/aspnet/sample.aspx .

По сути, вы объявляете фиктивный тег привязки:

<a id="anchorId" runat="server" onclick="return true" onserverclick="foo"></a> 

В коде позади вам нужно объявить метод foo:

protected void foo(object sender, EventArgs e)
{
    // Do something here
}

Затем вы можете вызвать функцию onclick этой привязки с помощью этого javascript:

document.getElementById('anchorId').click()
16
ответ дан 1 December 2019 в 02:10
поделиться

You should be able to stop the postback with whatever JS is attached to the button onclick event, regardless of whether it is a WebControl or a standar HTML button, by returning false.

E.g.

0
ответ дан 1 December 2019 в 02:10
поделиться

Вам необходимо установить для скрытого поля __EVENTTARGET соответствующее значение, если вы хотите вызвать обработчик события при обратной передаче. Однако я бы сделал это иначе. Поместите в модальное диалоговое окно кнопки ASP, с которыми связан обработчик событий. Сделайте так, чтобы обработчик щелчков, который всплывал в диалоговом окне, возвращал значение false (чтобы после этого нажатия кнопки обратной передачи не происходило). Таким образом, ваша форма отправляется обратно с кнопки ASP, и автоматически вызывается обработчик, включая настройку скрытого поля на стороне клиента.

4
ответ дан 1 December 2019 в 02:10
поделиться

Посмотрите эту статью

http://www.deviantpoint.com/post/2009/03/12/Using-jQuery-UI-Dialogs-for-confirmation-windows.aspx

Основная идея состоит в том, что вы помещаете функцию обратного вызова в скрытое поле и запускаете eval в $ (this) .dialog ('close');

Я использовал это, чтобы заставить ее работать в Gridview, так что, если вы хотите знать, как это сделать, оставьте комментарий.

4
ответ дан 1 December 2019 в 02:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: