1. Откройте новое окно и отправьте параметры:
Отправьте параметры:
response.write("<script>window.open
('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"')</ script>")
получает параметры:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2. Добавляем диалоговое окно к кнопке
Button1.Attributes.Add("onclick", "return submit('confirm?')");
button.attributes.add("onclick","if(confirm('вы уверены?'))
{return true;}else{return false;}")
3. Удалить выбранную запись формы
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "DELETE from Emp_id = " + intEmpID.ToString()
4. Удалить предупреждение о записи таблицы
Private void DataGrid_ItemCreated(Object) отправитель, DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
Case ListItemType.Item :
Case ListItemType.AlternatingItem :
Case ListItemType.EditItem:
TableCell myTableCell;
myTableCell
=
e.Item.Cells[14]
;LinkButton) myTableCell.Controls[0];
myDeleteButton.Attributes.Add
(«onclick»
,»return submit('Вы уверены, что хотите удалить эту информацию');»);
Break
;
default:
Break
;
ссылка на строку таблицы Другая страница
Private void grdCustomer_ItemDataBound
(отправитель объекта, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//Щелкните таблицу, чтобы открыть
, if (e.Item.ItemType == ListItemType.Item ||
e.Item. ItemType == ListItemType. AlternatingItem)
e.Item.Attributes.Add("onclick","window.open
('Default.aspx?id=" + e.Item.Cells[0].Text + "');") ;
}
Дважды щелкните соединение таблицы. Перейдите на другую страницу в событии itemDataBind
if(e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item. ячейки[1].Текст;
e.item.Attributes.Add("ondblclick",
"location.href='../ShippedGrid.aspx?id=" + OrderItemID + "'" }
Дважды
щелкните таблицу, чтобы открыть новую страницу
if(e) .Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item.cells[1].Text;
e.item.Attributes.Add("ondblclick",
"open('../ShippedGrid.aspx?id=" + OrderItemID + "')");
★
Особое примечание: [?id=] не может быть [? =】
6. Передайте параметры для столбцов гиперссылок таблицы
<asp:HyperLinkColumn Target="_blank" headertext="ID Number" DataTextField="id"
NavigateUrl="aaa.aspx?id='<%# DataBinder.Eval(Container.DataItem, "Поле данных 1")%>'
& name='<%# DataBinder.Eval(Container.DataItem, "Поле данных 2")%>' />
7. Нажмите на таблицу, чтобы изменить цвет,
если (e.Item.ItemType == ListItemType.Item || e.ТипЭлемента ==ТипЭлементаСписка.АльтернативныйЭлемент)
{
e.Item.Attributes.Add("onclick","this.style.backgroundColor='#99cc00';
this.style.color='buttontext';this.style.cursor='default';");
}
Запишите в _ItemDataBound DataGrid
if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='#99cc00';
this.style.color='buttontext';this.style.cursor='default';");
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='';this.style.color='';");
}
8. Что касается формата даты,
настройка формата даты
DataformatString="{0:yyyy-MM-dd}"
Я думаю, что она должна быть в событии привязки к элементу
e.items.cell["ваш столбец"].text=DateTime. Parse(e .items.cell["ваш столбец"].text.ToString("гггг-ММ-дд"))
9. Чтобы получить сообщение об ошибке и перейти на указанную страницу,
не используйте Response.Redirect, а используйте Server.Transfer,
например
// в global.asax
protected void Application_Error (отправитель объекта, EventArgs e) {
если (Server.GetLastError() — это HttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
//Остальные исключения, отличные от HttpUnhandledException, будут обработаны самим ASP.NET.
}
Перенаправление приведет к созданию обратной передачи и потере информации об ошибке, поэтому руководство по странице должно выполняться непосредственно на стороне сервера, чтобы информацию об ошибке можно было получить на странице обработки ошибок и обработать соответствующим образом.
10. Очистить
файл
cookie.Expires=[ДатаВремя];
Response.Cookies("ИмяПользователя").Expires = 0
11. Пользовательская обработка исключений
// Пользовательский класс обработки исключений
использование системы;
использование пространства имен System.Diagnostics
MyAppException
;
{
/**//// <сводка>
/// Класс обработки исключений приложения, унаследованный от класса системных исключений ApplicationException.
/// Автоматически записывать содержимое исключений в журнал приложений Windows NT/2000
/// </сводка>
общедоступный класс AppException:System.ApplicationException
{
publicAppException()
{
если (ApplicationConfiguration.EventLogEnabled)
LogEvent("Произошла неизвестная ошибка.");
}
Публичное AppException (строковое сообщение)
{
LogEvent (сообщение);
}
Public AppException (строковое сообщение, исключение InternalException)
{
LogEvent (сообщение);
если (внутреннее исключение! = ноль)
{
LogEvent(innerException.Message);
}
}
//Класс ведения журнала
использование системы;
использование System.Configuration;
использование System.Diagnostics;
использование System.IO;
использование System.Text;
использование пространства имен System.Threading
MyEventLog
;
{
/**//// <сводка>
/// Класс регистрации событий, обеспечивающий поддержку регистрации событий
/// <примечания>
/// Определяет 4 метода регистрации (ошибка, предупреждение, информация, трассировка)
/// </примечания>
/// </сводка>
публичный класс ApplicationLog
{
/**//// <сводка>
/// Запись информации об ошибках в журнал событий Win2000/NT
/// <param name="message">Текстовая информация для записи</param>
/// </сводка>
public static void WriteError (строковое сообщение)
{
WriteLog(TraceLevel.Error, сообщение);
}
/**//// <сводка>
/// Запись информации о предупреждениях в журнал событий Win2000/NT
/// <param name="message">Текстовая информация для записи</param>
/// </сводка>
public static void WriteWarning (строковое сообщение)
{
WriteLog(TraceLevel.Warning, сообщение);
}
/**//// <сводка>
/// Запишите информацию о подсказке в журнал событий Win2000/NT.
/// <param name="message">Текстовая информация для записи</param>
/// </сводка>
public static void WriteInfo (строковое сообщение)
{
WriteLog(TraceLevel.Info, сообщение);
}
/**//// <сводка>
/// Запись информации трассировки в журнал событий Win2000/NT
/// <param name="message">Текстовая информация для записи</param>
/// </сводка>
public static void WriteTrace (строковое сообщение)
{
WriteLog(TraceLevel.Verbose, сообщение);
}
/**//// <сводка>
/// Форматируем формат текстовой информации, записываемой в журнал событий
/// <param name="ex">Объект исключения, который необходимо отформатировать</param>
/// <param name="catchInfo">Строка заголовка информации об исключении.</param>
/// <ретзначение>
/// <para>Отформатированная строка информации об исключении, включая содержимое исключения и стек трассировки.</para>
/// </retvalue>
/// </сводка>
public static String formatException (Exception ex, String catchInfo)
{
StringBuilder strBuilder = новый StringBuilder();
если (catchInfo != String.Empty)
{
strBuilder.Append(catchInfo).Append("rn");
}
strBuilder.Append(ex.Message).Append("rn").Append(ex.StackTrace);
вернуть strBuilder.ToString();
}
/**//// <сводка>
/// Фактический метод записи журнала событий
/// <param name="level">Уровень записываемой информации (ошибка, предупреждение, информация, трассировка).</param>
/// <param name="messageText">Текст для записи.</param>
/// </сводка>
Private static void WriteLog (уровень TraceLevel, String messageText)
{
пытаться
{
ТипСобытияЛогEntryType;
переключатель (уровень)
{
случай TraceLevel.Error:
ТипЖурнала = ТипВходаСобытия.Ошибка;
перерыв;
случай TraceLevel.Предупреждение:
ТипЖурнала = ТипВходаСобытия.Предупреждение;
перерыв;
случай TraceLevel.Info:
ТипЖурнала = ТипВходаСобытия.Информация;
перерыв;
случай TraceLevel.Verbose:
ТипВхода Лога = ТипВходаЛогЕвента.УспехАудит;
перерыв;
по умолчанию:
ТипВхода Лога = ТипВходаЛогЕвента.УспехАудит;
перерыв;
}
EventLog eventLog = новый EventLog («Приложение», ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName);
// записываем журнал событий
eventLog.WriteEntry(messageText, LogEntryType);
}
catch {} // Игнорируем любые исключения
}
} //класс ApplicationLog
}
12. Панель прокручивается по горизонтали и автоматически расширяется по вертикали
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
13. Введите, чтобы преобразовать в вкладку
<script Language="javascript" for="document" event="onkeydown">
if(event.keyCode==13 && event.srcElement.type!='button' &&
event.srcElement.type!='submit' && event.srcElement.type!='reset'
&& event.srcElement.type!=''&& event.srcElement.type!='textarea');
event.keyCode=9;
</script>
onkeydown="if(event.keyCode==13) event.keyCode=9"
http://dotnet.aspx.cc/exam/enter2tab.aspx
14. Столбец суперсоединения
DataGrid DataNavigateUrlField="Имя поля" DataNavigateUrlformatString =" http://xx/inc/delete.aspx?ID={0 }"
15. Строки DataGrid меняют цвет с помощью мыши.
Private void DGzf_ItemDataBound.
(отправитель объекта, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
если (e.Item.ItemType!=ListItemType.Header)
{
e.Item.Attributes.Add( "onmouseout","this.style.backgroundColor=
""+e.Item.style["BACKGROUND-COLOR"]+""");
e.Item.Attributes.Add( "onmouseover","this.style.backgroundColor=""+ "#EFF3F7"+""");
}
}
16. Столбец шаблона
<ASP:TEMPLATECOLUMNvisible="False" sortexpression="demo" headertext="ID">
<ШАБЛОН ЭЛЕМЕНТА>
<ASP:LABEL text='<%# DataBinder.Eval(Container.DataItem,
"ArticleID")%>' runat="server" width="80%" id="lblColumn" />
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
<ASP:TEMPLATECOLUMN headertext="check">
<HEADERstyle Wrap="False" Horizontalign="Center"></HEADERstyle>
<ШАБЛОН ЭЛЕМЕНТА>
<ASP:CHECKBOX id="chkExport" runat="server" />
</ITEMTEMPLATE>
<EDITITEMTEMPLATE>
<ASP:CHECKBOX id="chkExportON" runat="server" Enabled="true" />
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
Внутренний код
защищен недействительным CheckAll_CheckedChanged(отправитель объекта, System.EventArgs e)
{
//Изменить выбор столбцов, чтобы выбрать все или ничего.
Флажок chkExport;
если(ПроверитьВсе.Проверено)
{
foreach(DataGridItem oDataGridItem в MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Проверено = правда;
}
}
еще
{
foreach(DataGridItem oDataGridItem в MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Проверено = ложь;
}
}
}
17. Форматирование чисел
[Результат <%#Container.DataItem("price")%> равен 500,0000, как отформатировать его до 500,00?]
<%#Container.DataItem("price","{0:¥#,##0.00}")%>
интервал я = 123456;
string s=i.ToString("###,###.00");
18. Форматирование даты
[на странице aspx: <%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
Отображается как: 2004-8-11 19:44:28
Я просто хочу: 2004-8-11]
<%# DataBinder.Eval(Container.DataItem, "Company_Ureg_Date", "{0:yyyy-Md}")%>
Как мне это изменить?
[Формат даты]
Вынь это, обычно возражаешь
((DateTime)objectFromDB).ToString("гггг-ММ-дд");
[Выражение проверки для даты]
A. Следующий правильный формат ввода: [2004-2-29], [2004-02-29 22:29:39], [2004/12/31]
^((d{2}(([02468] [048])|([13579][26]))[-/s]?((((0?[13578])|(1[02]))
[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469] )|(11))[-/s]?((0?[1-9])|
([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|([1-2][ 0-9])))))|(d{2}(([02468]
[1235679])|([13579][01345789]))[-/s]?((((0?[13578])|(1[02]))[-/s]
?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[ -/s]?((0?[1-9])|
([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|(1[0-9] )|(2[0-8]))))))
(s(((0?[1-9])|(1[0-2])):([0-5][0-9])((s)|(:([0 -5][0-9])с))
([AM|PM|am|pm]{2,2})))?$
B. Следующий правильный формат ввода: [0001-12-31], [9999 09 30], [2002/03/03]
^ d{4}[-/s]?((((0[13578])|(1[02]))[-/s]?(([0-2][0- 9])|(3[01])))|
(((0[469])|(11))[-/s]?(([0-2][0-9])|(30)))|(02[-/ s]?[0-2][0-9]))$
[Преобразование регистра]
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
19. Как установить глобальную переменную
Global.asax в событии Application_Start() и добавить Application[имя атрибута] = xxx;
Это ваша глобальная переменная
20. Как заставить соединение, созданное HyperLinkColumn, щелкнуть соединение, чтобы открыть новое окно?
HyperLinkColumn имеет атрибут Target, просто установите значение «_blank». (Target="_blank")
[ASPNETMENU] Нажмите на элемент меню, чтобы открыть новое окно. Добавьте URLTarget="_blank" к пункту меню в вашем менюData. XML-файл.
Например:
<?xml version="1.0"coding="GB2312"?>
<MenuData ImagesBaseURL="images/">
<МенюГруппа>
<MenuItem Label="Информация о внутренних параметрах" URL="Infomation.aspx" >
<MenuGroup ID="BBC">
<MenuItem Label="Информация об объявлении" URL="Infomation.aspx"
URLTarget="_blank" LeftIcon="file.gif"/>
<MenuItem Label="Подготовить информационный брифинг" URL="NewInfo.aspx" LeftIcon="file.gif" />
Лучше всего обновить aspnetmenu до версии 1.2.