Передача двух переменных между тремя методами - PullRequest
1 голос
/ 01 апреля 2011

Как бы я отправил переменную int и строковую переменную из одного метода в другой метод, в последний третий метод?Это в основном, как у меня есть мои методы настройки.Очевидно, что в каждом из них есть код, но я просто пытаюсь понять, как перенести эти переменные в другие мои методы.

    protected void deleteOkBtn_Click(object sender, EventArgs e)
    {
        remove()
    }

    protected void imgdelbtn_Click(object sender, EventArgs e)
    {

    }

    public void remove()
    {

    }

Ответы [ 3 ]

0 голосов
/ 01 апреля 2011

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

<asp:hiddenfield id="MyHiddenValue" runat="server" />

А затем установить его и ссылаться на него (почти) в любом событии в вашем коде:

protected void imgdelbtn_Click(object sender, EventArgs e)
{
    if (MyHiddenValue.Value == "BAM!")
    {
        // Stuffs...
    }
}
0 голосов
/ 01 апреля 2011

Вы звоните из метода 1 в метод 2 в метод 3? Или каждый из них вызывается пользовательскими событиями?

Учитывая, что вы вызываете их, но не хотите изменять имена параметров, вы можете создать структуру и отправить ее как объект-отправитель, затем преобразовать ее обратно в структуру или создать новый класс, который расширяет EventArgs и передает их есть.

Если вызываются пользовательскими событиями, и вы хотите поделиться значениями, тогда глобальные значения будут подходить, или, как говорит Кон, что это может быть страница asp.net, тогда вы должны использовать ViewState для удерживать значения между постбэками.

Пример использования ViewState будет выглядеть так:

public uint ClauseId
{
    get { return Convert.ToUInt32(ViewState["ClauseId"] ?? 0); }
    set { ViewState["ClauseId"] = value; }
}

Тогда в ваших методах вы можете получить доступ к ClauseId как свойству страницы.

PS, я просто скопировал это из некоторого кода. Имена в кавычках могут быть любыми, только для чтения и записи, и могут отличаться от имени свойства. Вам также не нужно использовать свойство, мне просто легче читать, если к нему обращаются в нескольких местах, чем читать и писать напрямую в ViewState в методах.

0 голосов
/ 01 апреля 2011

В вашем методе удаления вызовите событие MyCustomEvent, которое принимает MyCustomEventArgs, которое содержит поля, которые вы хотите передать другому классу.

Затем попросите этот другой класс подключить обработчик к этому событию классов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...