1. Разница между <%=...%> и <%#... %>:
Ответ: <%=...%> вызывается при выполнении программы, а <%#... %> вызывается после метода DataBind()
2. Какие типы данных получает элемент управления?
Ответ: Элементы управления, которые получают Bind, обычно включают элементы управления коллекцией, такие как DropDownList, DataList, DataGrid и ListBox. Основные из них — ArrayList, Hashtable, DataView и DataReader, мы можем сделать это правильно в будущем, и так будет. не будет ошибки, что DataTable привязан :)
3. DataBind, система по умолчанию будет получать полученные данные в String, как преобразовать их в другие типы?
DataBinder.Eval(Container.DataItem, «тип преобразования», «формат»)
Последний «формат» не является обязательным, и обычно вам не нужно об этом беспокоиться. Container.DataItem — это связанный элемент данных, а «тип преобразования» относится к таким вещам, как Integer, String и Boolean.
4. Основное пространство имен:
<% @ Import Namespace="System.Data" %> Используется при обработке данных
<% @ Import Namespace="System.Data.ADO" % > Используется при использовании ADO.net;
<% @ Import Namespace="System.Data.SQL" %> Только база данных SQL Server
<% @ Import Namespace="System.Data.XML" %> Не нужно смотреть, что используется для обработки XML
<% @ Import Namespace="System.IO" %> Используется при обработке файлов
<% @ Import Namespace="System.Web.Util" %> Все будут использовать его при отправке электронных писем
<% @ Import Namespace="System.Text" %> Общие свойства и методы 5.Connections (SQLConection или ADOConnection) используются при кодировании текста
:
| ConnectionString Получает или задает инструкцию для подключения к базе данных.
| ConnectionTimeout получает или задает максимальное время подключения к базе данных, которое также является временем ожидания
DataBase получает или задает имя базы данных, которая будет открыта на сервере базы данных
| DataSource получает или устанавливает DSN, с ним все знакомы :)
Пароль Получить или установить пароль
UserID получает или устанавливает имя для входа
State получает статус текущего соединения
| Open() открывает соединение
| Close() закрывает соединение
| Clone() Клонировать соединение. (Ха-ха, овцы могут общаться, и я тоже)
Пример:
SQLConnection myConnection = новый SQLConnection ();
myConnection.DataSource = "mySQLServer";
моеСоединение.Пароль = "";
myConnection.UserID = "sa";
myConnection.ConnectionTimeout = 30;
моеСоединение.Открыть();
myConnection.Database = "Северный ветер";
myConnection.IsolationLevel = IsolationLevel.ReadCommitted
6. Часто используемые методы и свойства команды.
ActiveConnection Получает или задает соединения.
CommandText выполняет оператор SQL или имя хранимой процедуры (StoredProcedure)
CommandTimeout Максимальное время выполнения
CommandType Существует три типа командных операций (StoredProcedure, Text, TableDirect), значение по умолчанию — Text |
Параметры, используемые при работе с хранимыми процедурами |
| Execute() выполняет инструкции SQL или хранимые процедуры
| ExecuteNonQuery() То же, что и выше, разница в том, что он не возвращает набор записей.
Клон() Команда клонирования |
Пример:
string mySelectQuery = "SELECT * FROM Category ORDER BY CategoryID";
stringmyConnectString="userid=sa;пароль=;database=northwind;server=mySQLServer";
SQLCommand myCommand = новый SQLCommand (mySelectQuery);
myCommand.ActiveConnection = новый SQLConnection(myConnectString);
мояКоманда.CommandTimeout = 15;
myCommand.CommandType = CommandType.Text;</FONT >
7. Два способа открытия и закрытия базы данных:
1.MyConnection.Open(); //Открываем соединение
МоеСоединение.Закрыть();
2.МояКоманда.АктивноеСоединение.Открыть();
MyCommand.ActiveConnection.Close()
8. Используйте DataSet для добавления, изменения и удаления данных в базе данных.
а.Добавить данные
DataRow dr=MyDataSet.Tables["UserList"].NewRow();
dr["UserName"] = "Новости недели";
dr["ReMark"] = "100";
dr["Комментарий"] = "Красивый ММ";
MyDataSet.Tables.Rows.Add(dr);
б.
MyDataSet.Tables["UserList"].Rows[0]["UserName"]="Брат Летающий Нож"
c.
MyDataSet.Tables["UserList"],Rows[0].Delete();
d.Восстановить данные
;
если (MyDataSet.HasErrors)
{
MyDataSet.RejectChanges();
}
e. Определить, был ли изменен набор данных.
если (MyDataSet.HasChanges)
{
//сохраняем код
}еще{
//Поскольку изменений нет, нет необходимости сохранять, чтобы сэкономить время.
}
f. Обновление базы данных.
MyComm.Update(MyDataSet); //Обновляем все таблицы в базе данных;
MyComm.Update(MyDataSet,"UserList"); //Обновляем таблицу
9.DataGrid реализует функцию подкачки
AllowPaging="True" //Относится к разрешению пейджинга, это самое важное. С его помощью мы можем разбивать на страницы.
PageSize="5" //Указывает количество записей, отображаемых на каждой странице. Если не указано, по умолчанию будет 10.
PagerStyle-HorizontalAlign="Right" //Указывает расположение фасетного отображения, по умолчанию — слева
PagerStyle-NextPageText="Следующая страница" //Изменяем <> на строки предыдущей и следующей страницы
PagerStyle-PrevPageText="Предыдущая страница"
PagerStyle-Mode="NumericPages" //Изменить <> на 123-цифровое отображение
10. Отобразить, сколько всего страниц и на какой странице находится отчет в данный момент.
Текущая страница: <font color=red><%=DataGrid1.CurrentPageIndex+1%></font><br>
Общее количество страниц: <font color=red><%=DataGrid1.PageCount%></font><br>
11.Персонализированный пейджинг
«Закрыть контакт ASP.Net (14)» программиста Basecamp имеет полный код
12. Чтобы вернуть страницу в допустимое состояние
IVалидатор вал;
foreach(val в валидаторах)
{
Вал.Исвалид = правда;
}
13. Повторно выполните всю последовательность проверки.
IVалидатор вал;
foreach(val в валидаторах)
{
Вал.Проверить();
}
14. Отключить проверку клиента
<%@ Page Language="c#" clienttarget=downlevel %>
15. Использование элементов управления «Повторитель», «DataList» и «DataGrid»
Эти элементы управления могут упростить несколько распространенных сценариев веб-приложений, включая отчеты, корзины покупок, списки продуктов, запросы.
Результаты и меню навигации. Повторитель — единственный элемент управления, который допускает использование фрагментов HTML в своем шаблоне.
16. Разница между Server.Execute("another.aspx") и Server.Transfer("another.aspx"):
Выполнить переводы с текущей страницы на указанную страницу и вернуть выполнение на текущую страницу.
Перенос – это полный перенос исполнения на указанную страницу.
17. XML-файл может иметь собственную схему, а может существовать в файле *.xsl, но информация должна быть указана в корневом узле XML-документа через атрибут xmlns, как показано ниже:
<rootelement xmlns="x-schema:scheduledSchema.xsl">
18. Чтение XML-файлов
FileStream myfs = новый Filestream(Server.MapPath("xmldtagrid.xml"),FileMode.Open,FileAccess.Read);
StreamReader myreader = новый StreamReader (myfs);
DataSet myds = новый DataSet();
myds.ReadXml(myreader);
19. Управление регулярными выражениями RegularExpressionValidator
Символ Значение
^ Укажите, с чего начать проверку
$ указывает конец проверки
[] Проверяет, соответствует ли введенное значение одному из символов в квадратных скобках.
W позволяет вводить любое значение
d{} "d" указывает, что входное значение является числом, {} указывает количество вхождений указанного типа данных.
+ указывает, что к проверяемому выражению будут добавлены один или несколько элементов
Пример: формат электронной почты (со знаком @ и заканчивается на .com/.net/.org/.edu).
validationexpression="^[w-]+@[w-]+.(com|net|org|edu)$"
20. Важные инструкции для операций с данными в элементе управления DataGrid:
Свойство: DataKeyField="userid" //Установить идентификатор пользователя в качестве первичного ключа таблицы. Значение этого поля не может быть обновлено в базе данных. Лучше всего установить первичный ключ таблицы в качестве первичного ключа DataGrid.
SqlCommand.Parameters["@userid"].Value=dg.DataKeys[(int)e.Item.ItemIndex] //Получаем первичный ключ обновляемой строки (назначаем значение первичного ключа выбранной в данный момент строки команда является параметром
SqlCommand.Parameters["@fname"].Value=((TextBox)e.Item.Cells[2].Controls[0]).Text //Присвоение измененного значения строки параметру;
21. Пользовательские элементы управления:
a. Пользовательский элемент управления (то же, что и страница создания ASP).
(I). Создайте страницу, перетащите элемент управления и установите свойства/методы. Директива @Control в <% @Control Language="C#" Debug="True" %> для определения этой страницы будет содержать код элемента управления.
(II) Сохраните файл в формате *.ascx, например a.ascx.
(III).Используйте: заголовок< %@Register Tagprefix="MyFirstControl" TagName="MyLbl" Src="a.axcs" %>
//Tagprefix — префикс элемента управления, например ASP:TextBox в ASP
//TagName используется для указания имени пользовательского элемента управления
//Src указывает источник управляющего файла
Тело:<MyFirstControl:MyLbl runat="Server" id="AllMine" MyText="Successful" />
б. Создание пользовательских элементов управления с помощью C#.
(I). Создайте файл чистого кода, унаследуйте базовый класс Control и сохраните его как *.cs, например a.cs.
(II) Скомпилируйте код для создания сборки: csc /t:library /r:System.dll,System.Web.Dll a.cs.
//библиотека сообщает компилятору C# о необходимости создания сборки
// /r:System.dll System.Web.Dll сообщает компилятору C# ссылаться на указанную сборку
(III). Поместите сгенерированный файл DLL в каталог bin.
(IV).Используйте: <% @Register TagPrefix="Mine" Namespace="MyOwnControls" Assembly="a" %>
22. Меры предосторожности при использовании сложных средств контроля:
открытый класс MyCompositin:Control,INamingContainer //INamingContainer: если на странице имеется несколько экземпляров этого элемента управления, этот интерфейс может предоставить каждому экземпляру {} уникальный флаг
this.EnsureChildControls();//Указывает, что составной элемент управления будет All дочерние элементы управления отображаются на странице. Этот метод проверяет, содержит ли серверный элемент дочерние элементы управления.
CreateChildControls.
23.Когда используются Button/LinkButton/ImageButton/HyperLink?
1.Button и ImageButton используются для передачи данных обратно на сервер.
2. Гиперссылка используется для перехода между страницами.
3.LinkButton используется для сохранения данных на сервере или доступа к данным на сервере.
24. Отслеживание и отладка
отслеживать:
1. Трассировка на уровне страницы. Включите следующие инструкции страницы в начало страницы <%@ Page Trace="True" TraceMode="SortByCategory/SortByTime" %>
Пользовательское сообщение:
Trace.Write("Вот строка, которую нужно отобразить");
Trace.Warn("Вот строка, которую нужно отобразить"); //То же, что и Trace.Write, но шрифт красный
Проверьте, используется ли отслеживание
Пример: if(Trace.IsEnabled) { Trace.Warn("Трассировка включена")}
2. Трассировка на уровне приложения: <trace Enabled="true" pageOutput="true"/> в разделе <System.Web> файла Web.config.
25. Настраиваем кеш:
1.Кэширование вывода:
I. Настройки страницы: добавьте <%@ OutputCache Duration="120" VaryByParam="none" %> в начало страницы, которую необходимо кэшировать.
Примечание. Содержимое вывода остается неизменным в течение последних двух минут после запроса этой страницы.
II. Программные настройки:
В основном используйте методы класса System.Web.HttpCachePolicy.
(1). Response.Cache.SetExpires(DateTime.Now.AddSeconds(120)); //В этом методе должно быть указано время истечения срока действия, например, это //предложение составляет две минуты.
(2) Ответ.Кэш.SetExpires(DateTime.Now.AddSeconds(120));
Response.Cache.SetSlidingExpiration(true); //"Регулируемый срок действия" в основном используется в ситуациях, когда количество посещений сначала велико, но затем количество посещений //сбалансировано
Функция: первая строка устанавливает время истечения срока действия кэша, а вторая строка включает скользящий срок действия (регулируемый срок действия).
2. Кэш данных:
(1).DataView mySource; (2).Присвойте значение mySource;
(3).Cache["myCache"]=mySource; (4).mySource=(DataView)Cache["myCache"]
26. Развертывание: скопируйте оператор непосредственно на сервер продукта: XCOPY <source_path> <destination_path> //XOPY принимает только физические пути, а не виртуальные пути.