#c# #asp.net #sql #telerik
#c# #asp.net #sql #телерик
Вопрос:
В следующем коде у меня есть закомментированное стандартное представление asp Datagrid и Telerik RadGrid.
<telerik:RadGrid ID="RadGrid1" runat="server">
</telerik:RadGrid>
На стороне c # это код, который у меня есть в page_load
DataTable dt = new DataTable();
string id = Request.QueryString["id"];
SqlConnection conn = new SqlConnection( ConfigurationManager.ConnectionStrings["SHBNdbConnectionString"].ConnectionString);
conn.Open();
string query = "SELECT ProjectDesc,ProjectLoc,ProjectStatus FROM tblProjects INNER JOIN tblClients ON tblClients.ProjectID=tblProjects.ProjectID WHERE tblClients.ClientID='" id "';";
SqlCommand com = new SqlCommand(query, conn);
using (SqlDataAdapter sda = new SqlDataAdapter())
{
sda.SelectCommand = com;
sda.Fill(dt);
RadGrid1.DataSource = dt;
RadGrid1.DataBind();
}
conn.Close();
Теперь закомментированная часть кода c # работает нормально, если я запущу веб-сайт и открою его, он отобразит данные в стандартном Datagridview, но, когда я делаю то же самое для Telerik RadGrid (который содержит ссылку на сборку в html и папку Bin с dll) Я получаю следующую ошибку:
Ошибка синтаксического анализатора
Описание: Произошла ошибка во время синтаксического анализа ресурса, необходимого для обслуживания этого запроса. Пожалуйста, просмотрите следующие конкретные сведения об ошибках синтаксического анализа и соответствующим образом измените исходный файл.
Сообщение об ошибке синтаксического анализатора: System.OutOfMemoryException
было выдано исключение типа.
Почему это происходит исключительно при использовании элементов управления Telerik?
Комментарии:
1. Я думаю, что лучше привязать веб-элементы управления к datareader, а затем к datatable.
Ответ №1:
Telerik RadGrid хранит свои данные в состоянии просмотра страницы, и если оно становится значительно большим, оно может выдать System.OutOfMemoryException
то, что вы видите.
Попробуйте отключить хранилище ViewState в настройках EnableViewState="false"
RadGrid, установив следующее:
<telerik:RadGrid ID="RadGrid1" runat="server" EnableViewState="false" />
Проверьте эту страницу для получения дополнительной информации об оптимизации ViewState для элементов управления Telerik.