Как показать GridView внутри логина с привязкой данных? - PullRequest
0 голосов
/ 17 марта 2011

Если за пределами loginView, вид сетки может отображаться правильно!

Поместите в логин Просмотр и использование кода ниже

<LoggedInTemplate> 
  <asp:GridView ID="GridView1" runat="server">
  </asp:GridView>          
</LoggedInTemplate>

((GridView)LoginView1.FindControl("GridView1")).DataSource = query;
((GridView)LoginView1.FindControl("GridView1")).DataBind(); 

Ссылка на объект не установлена ​​для экземпляра объекта. Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде. Сведения об исключении: System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта.

Ошибка источника:

Строка 22: ((GridView) LoginView1.FindControl ("GridView1")). DataSource = query;

Как показать GridView внутри логина с привязкой данных в c #?

Ответы [ 2 ]

0 голосов
/ 17 марта 2011

<LoggedInTemplate /> доступен только после входа пользователя в систему. Исключение NullReferenceException произойдет, если вы попытаетесь получить доступ к сетке до того, как пользователь войдет в систему. Я бы предложил вам добавить проверку, подобную этой

if(Request.IsAuthenticated)
{
    GridView gv = ((GridView)LoginView1.FindControl("GridView1"));
    if(gv != null)
    {
        gv.DataSource = query;
        gv.DataBind();
    }

}
0 голосов
/ 17 марта 2011

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

Примерно так:

SELECT * FROM [table_name];   // here, you can take table name which you want to bind

После этого вам нужно заполнить dataAdapter набором данных, и этот набор данных связан с помощью следующего кода:

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