Проблема переменной области в C # - PullRequest
0 голосов
/ 30 марта 2009

Вот сделка. У меня есть сценарий Master-Detail Grid. Мастер GridView загружается при загрузке страницы. Я использую DataView того же DataTable, который загружает мастер для загрузки Detail GridView, фильтруя то, что мне нужно показать в DetailGridView. Все работает нормально, когда я просматриваю первую строку MasterGridView. Когда я пытаюсь просмотреть вторую строку, я не вижу столбец ошибки [число]. Я также замечаю, что переменная «таблица» - это ничто.

public partial class Gridview_Template : System.Web.UI.Page
{
    DataTable table = new DataTable();

    protected void Page_Load(object sender, EventArgs e)
    {
        SqlDataReader reader = DBSqlHelperFactory.ExecuteReader(
            myconnection,
            "crm_getcustomersummary",
            new SqlParameter("@customerid", "99999")
        );
        table.Load(reader);
        MasterGridView.DataSource = table;
        MasterGridView.DataBind();
    }

    protected void detailGrid_DataSelect(object sender, EventArgs e)
    {
        string searchValue ="number="  + values.ToString();

        DataView dv = new DataView(
            table, searchValue, "number", DataViewRowState.OriginalRows
        );
        DetailGridView.DataSource = dv;

        // ...
    }
}

Должен ли я поместить переменную "table" в состояние сеанса, чтобы она существовала во время вызова?

1 Ответ

1 голос
/ 30 марта 2009

Если вы просто хотите сохранить таблицу между постбэками, вы можете взглянуть на ViewState. Сессия больше используется для сохранения информации на разных страницах.

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