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 verify('confirm?')");
버튼.attributes.add("onclick","if(confirm('확실합니까?'))
{return true;}else{return false;}")
3. 선택한 레코드 양식 삭제
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()
4. 테이블 레코드 삭제 경고
private void DataGrid_ItemCreated(Object sender, DataGridItemEventArgs e)
{
스위치(e.Item.ItemType)
{
케이스 ListItemType.Item :
케이스 ListItemType.AlternatingItem :
케이스 ListItemType.EditItem:
TableCell myTableCell;
myTableCell
=
e.Item.Cells[14]
;LinkButton) myTableCell.Controls[0];
myDeleteButton.Attributes.Add
("onclick"
,"return verify(
'이 정보를 삭제하시겠습니까?');");
기본값
:
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, "Data Field 2")%>' />
7.
(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onclick","this.style.BackgroundColor='#99cc00';
this.style.color='buttontext';this.style.cursor='default';");
}
DataGrid의 _ItemDataBound에 씁니다.
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["your column"].text=DateTime
에 있어야 할 것 같습니다
.Parse(e .items.cell["your column"].text.ToString("yyyy-MM-dd"))
9. 오류 메시지를 받고 지정된 페이지로 이동하려면
Response.Redirect를 사용하지 말고 다음을 사용하십시오. Server.Transfer
예:
// global.asax에서
protected void Application_Error(객체 전송자, EventArgs e) {
if (Server.GetLastError()는 HttpUnhandledException입니다)
Server.Transfer("MyErrorPage.aspx");
//HttpUnhandledException이 아닌 나머지 예외는 ASP.NET 자체에서 처리됩니다.
}
리디렉션을 하면 포스트백이 생성되고 오류 정보가 손실되므로 페이지 안내를 서버 측에서 직접 실행해야 오류 처리 페이지에서 오류 정보를 얻어 그에 따라 처리할 수 있습니다.
10. 쿠키
쿠키
지우기.Expires=[날짜시간];
Response.Cookies("UserName").Expires = 0
11. 사용자 정의 예외 처리
// 사용자 정의 예외 처리 클래스
시스템 사용;
System.Diagnostics
네임스페이스 MyAppException
사용
{
/**//// <요약>
/// 시스템 예외 클래스 ApplicationException에서 상속된 응용 프로그램 예외 처리 클래스입니다.
/// Windows NT/2000의 응용 프로그램 로그에 예외 내용을 자동으로 기록합니다.
/// </summary>
공용 클래스 AppException:System.ApplicationException
{
publicAppException()
{
if(ApplicationConfiguration.EventLogEnabled)
LogEvent("알 수 없는 오류가 발생했습니다.");
}
공개 AppException(문자열 메시지)
{
LogEvent(메시지);
}
공용 AppException(문자열 메시지,예외 innerException)
{
LogEvent(메시지);
if (innerException != null)
{
LogEvent(innerException.Message);
}
}
//로깅 클래스
시스템 사용;
System.Configuration 사용;
System.Diagnostics 사용;
System.IO 사용;
System.Text 사용;
System.Threading
네임스페이스 MyEventLog
사용
{
/**//// <요약>
/// 이벤트 로깅 클래스, 이벤트 로깅 지원 제공
/// <비고>
/// 4가지 로깅 방법 정의(오류, 경고, 정보, 추적)
/// </비고>
/// </summary>
공개 클래스 ApplicationLog
{
/**//// <요약>
/// Win2000/NT 이벤트 로그에 오류 정보 기록
/// <param name="message">기록할 텍스트 정보</param>
/// </summary>
공개 정적 무효 WriteError(문자열 메시지)
{
WriteLog(TraceLevel.Error, 메시지);
}
/**//// <요약>
/// Win2000/NT 이벤트 로그에 경고 정보 기록
/// <param name="message">기록할 텍스트 정보</param>
/// </summary>
공개 정적 무효 WriteWarning(문자열 메시지)
{
WriteLog(TraceLevel.Warning, 메시지);
}
/**//// <요약>
/// Win2000/NT 이벤트 로그에 프롬프트 정보를 기록합니다.
/// <param name="message">기록할 텍스트 정보</param>
/// </summary>
공개 정적 무효 WriteInfo(문자열 메시지)
{
WriteLog(TraceLevel.Info, 메시지);
}
/**//// <요약>
/// Win2000/NT 이벤트 로그에 추적 정보 기록
/// <param name="message">기록할 텍스트 정보</param>
/// </summary>
공개 정적 무효 WriteTrace(문자열 메시지)
{
WriteLog(TraceLevel.Verbose, 메시지);
}
/**//// <요약>
/// 이벤트 로그에 기록되는 텍스트 정보 형식을 포맷합니다.
/// <param name="ex">포맷이 필요한 예외 객체</param>
/// <param name="catchInfo">예외 정보 제목 문자열.</param>
/// <재값>
/// <para>예외 내용 및 추적 스택을 포함하는 형식화된 예외 정보 문자열</para>
/// </retvalue>
/// </summary>
public static String formatException(Exception ex, String catchInfo)
{
StringBuilder strBuilder = 새로운 StringBuilder();
if (catchInfo != 문자열.비어 있음)
{
strBuilder.Append(catchInfo).Append("rn");
}
strBuilder.Append(ex.Message).Append("rn").Append(ex.StackTrace);
strBuilder.ToString()을 반환합니다.
}
/**//// <요약>
/// 실제 이벤트 로그 작성 방법
/// <param name="level">기록할 정보 수준(오류, 경고, 정보, 추적)</param>
/// <param name="messageText">녹화할 텍스트입니다.</param>
/// </summary>
개인 정적 무효 WriteLog(TraceLevel 레벨, 문자열 messageText)
{
노력하다
{
EventLogEntryType LogEntryType;
스위치(레벨)
{
TraceLevel.Error:
LogEntryType = EventLogEntryType.Error;
부서지다;
TraceLevel.Warning:
LogEntryType = EventLogEntryType.Warning;
부서지다;
TraceLevel.Info:
LogEntryType = EventLogEntryType.Information;
부서지다;
TraceLevel.Verbose:
LogEntryType = EventLogEntryType.SuccessAudit;
부서지다;
기본:
LogEntryType = EventLogEntryType.SuccessAudit;
부서지다;
}
EventLog eventLog = new EventLog("Application", ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName );
//이벤트 로그 쓰기
eventLog.WriteEntry(messageText, LogEntryType);
}
catch {} //예외를 무시합니다.
}
} //ApplicationLog 클래스
}
12. 패널이 가로로 스크롤되고 자동으로 세로로 확장됩니다.
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
13. Tab으로 변환하려면 Enter
<script 언어="javascript" for="document" event="onkeydown">
if(event.keyCode==13 && event.srcElement.type!='버튼' &&
event.srcElement.type!='제출' && event.srcElement.type!='재설정'
&& 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 행은 마우스
전용 void DGzf_ItemDataBound를
사용하여 색상을 변경합니다.
(개체 전송자, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (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:TEMPLATECOLUMN visible="False" sortexpression="demo" headertext="ID">
<항목 템플릿>
<ASP:LABEL text='<%# DataBinder.Eval(Container.DataItem,
"ArticleID")%>' runat="server" width="80%" id="lblColumn" />
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
<ASP:TEMPLATECOLUMN 헤더텍스트="체크">
<HEADERstyle Wrap="False"horizontalalign="가운데"></HEADERstyle>
<항목 템플릿>
<ASP:CHECKBOX id="chkExport" runat="서버" />
</ITEMTEMPLATE>
<편집 항목 템플릿>
<ASP:CHECKBOX id="chkExportON" runat="server" 활성화="true" />
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
백엔드 코드
보호 void CheckAll_CheckedChanged(개체 전송자, System.EventArgs e)
{
//열 선택을 모두 선택하거나 선택하지 않도록 변경합니다.
CheckBox chkExport;
if(CheckAll.Checked)
{
foreach(DataGridItem oDataGridItem in MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = true;
}
}
또 다른
{
foreach(DataGridItem oDataGridItem in MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = 거짓;
}
}
}
17. 숫자 서식
[<%#Container.DataItem("price")%>의 결과가 500.0000인데 어떻게 500.00으로 서식을 지정하나요?]
<%#Container.DataItem("가격","{0:₩#,##0.00}")%>
int i=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("yyyy-MM-dd")
[날짜에 대한 유효성 검사 표현식]
A. 다음의 올바른 입력 형식: [2004-02-29], [2004-02-29 10:29:39 pm], [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])s))
([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)
Application_Start() 이벤트에
전역 변수 Global.asax를 설정하고 Application[속성 이름] = xxx;를 추가하는 방법
전역 변수입니다.
20. HyperLinkColumn에서 생성된 연결을 만드는 방법 연결을 클릭하여 새 창을 열까요?
HyperLinkColumn에는 Target 속성이 있습니다. 값을 "_blank"로 설정하세요. (Target="_blank")
[ASPNETMENU] 메뉴 항목을 클릭하면 menuData의 메뉴 항목에 URLTarget="_blank"가 추가됩니다. .xml 파일.
예:
<?xml version="1.0" 인코딩="GB2312"?>
<MenuData ImagesBaseURL="이미지/">
<메뉴그룹>
<MenuItem Label="내부 매개변수 정보" URL="Infomation.aspx" >
<메뉴그룹 ID="BBC">
<MenuItem Label="공지사항 정보" URL="Infomation.aspx"
URLTarget="_blank" LeftIcon="file.gif"/>
<MenuItem Label="정보 브리핑 준비" URL="NewInfo.aspx" LeftIcon="file.gif" />
aspnetmenu를 버전 1.2로 업그레이드하는 것이 가장 좋습니다.