1. افتح نافذة جديدة وأرسل المعلمات:
إرسال المعلمات:
Response.write("<script>window.open
('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"')</ script>")
يتلقى المعلمات:
السلسلة a = Request.QueryString("id");
string b = Request.QueryString("id1");
2. أضف مربع حوار إلى الزر
Button1.Attributes.Add("onclick", "return Confirm('confirm?')");
Button.attributes.add("onclick",if(confirm('هل أنت متأكد؟'))
{return true;}else{return false;}")
3. حذف النموذج المحدد
intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string drawCmd = "حذف من الموظف حيث emp_id =" + intEmpID.ToString()
4. حذف تحذير سجل الجدول
الخاص void DataGrid_ItemCreated(Object) sender, DataGridItemEventArgs e)
{
Switch(e.Item.ItemType)
{
case ListItemType.Item:
case ListItemType.AlternatingItem:
case ListItemType.EditItem:
TableCell myTableCell
=
e.Item.Cells[14]
;
LinkButton) myTableCell.Controls[0];
myDeleteButton.Attributes.Add
("onclick"،
"return تأكيد ('هل أنت متأكد من أنك تريد حذف هذه المعلومات')؛")؛
استراحة
؛
}
}
5. انقر رابط صف الجدول صفحة أخرى
Private void grdCustomer_ItemDataBound
(object sender, 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, "Data Field 1")%>'
& name='<%# DataBinder.Eval(Container.DataItem, "Data Field 2")%>' />
7. انقر على الجدول لتغيير اللون
if (e.Item.ItemType == ListItemType.Item || e.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onclick"،this.style.backgroundColor='#99cc00';
this.style.color='buttontext';this.style.cursor='default';");
}
اكتب في _ItemDataBound من DataGrid
إذا (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
خطأ محمي باطل Application_Error(Object sender, EventArgs e) {
إذا كان (Server.GetLastError() هو HttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
// سيتم التعامل مع بقية الاستثناءات غير HttpUnhandledException بواسطة ASP.NET نفسه.
}
ستؤدي إعادة التوجيه إلى إنشاء إعادة النشر وفقدان معلومات الخطأ، لذلك يجب تنفيذ إرشادات الصفحة مباشرة على جانب الخادم، بحيث يمكن الحصول على معلومات الخطأ في صفحة معالجة الأخطاء ومعالجتها وفقًا لذلك
10. مسح
ملف تعريف
الارتباط.Expires=[DateTime];
Response.Cookies("اسم المستخدم").انتهاء الصلاحية = 0
11. معالجة الاستثناءات المخصصة
// فئة معالجة الاستثناءات المخصصة
باستخدام النظام؛
باستخدام System.Diagnostics؛
مساحة الاسم MyAppException
{
/**//// <الملخص>
/// فئة معالجة استثناء التطبيق الموروثة من فئة استثناء النظام ApplicationException.
/// تسجيل محتوى الاستثناء تلقائيًا في سجل تطبيق Windows NT/2000
/// </الملخص>
فئة عامة AppException:System.ApplicationException
{
publicAppException()
{
إذا (ApplicationConfiguration.EventLogEnabled)
LogEvent("حدث خطأ غير معروف.");
}
AppException العام (رسالة سلسلة)
{
LogEvent(message);
}
AppException العامة (رسالة سلسلة، استثناء داخلي)
{
LogEvent(message);
إذا (innerException! = فارغ)
{
LogEvent(innerException.Message);
}
}
// فئة التسجيل
باستخدام النظام؛
باستخدام System.Configuration؛
باستخدام System.Diagnostics؛
باستخدام System.IO؛
باستخدام System.Text؛
باستخدام System.Threading؛
مساحة الاسم MyEventLog
{
/**//// <الملخص>
/// فئة تسجيل الأحداث، توفر دعم تسجيل الأحداث
/// <الملاحظات>
/// تحديد 4 طرق للتسجيل (خطأ، تحذير، معلومات، تتبع)
/// </ملاحظات>
/// </الملخص>
سجل تطبيق الفئة العامة
{
/**//// <الملخص>
/// سجل معلومات الخطأ في سجل أحداث Win2000/NT
/// <param name="message">المعلومات النصية المراد تسجيلها</param>
/// </الملخص>
خطأ الكتابة الفراغي العام (رسالة سلسلة)
{
WriteLog(TraceLevel.Error, message);
}
/**//// <الملخص>
/// سجل معلومات التحذير في سجل أحداث Win2000/NT
/// <param name="message">المعلومات النصية المراد تسجيلها</param>
/// </الملخص>
تحذير الكتابة باطل عام ثابت (رسالة سلسلة)
{
WriteLog(TraceLevel.Warning, message);
}
/**//// <الملخص>
/// سجل معلومات المطالبة في سجل أحداث Win2000/NT
/// <param name="message">المعلومات النصية المراد تسجيلها</param>
/// </الملخص>
WriteInfo الفراغ العام الثابت (رسالة سلسلة)
{
WriteLog(TraceLevel.Info, message);
}
/**//// <الملخص>
/// سجل معلومات التتبع في سجل أحداث Win2000/NT
/// <param name="message">المعلومات النصية المراد تسجيلها</param>
/// </الملخص>
WriteTrace الفراغ العام الثابت (رسالة السلسلة)
{
WriteLog(TraceLevel.Verbose, message);
}
/**//// <الملخص>
/// تنسيق تنسيق المعلومات النصية المسجلة في سجل الأحداث
/// <param name="ex">كائن الاستثناء الذي يحتاج إلى التنسيق</param>
/// <param name="catchInfo">سلسلة عنوان معلومات الاستثناء.</param>
/// <قيمة إعادة القيمة>
/// <para>سلسلة معلومات الاستثناء المنسقة، بما في ذلك محتوى الاستثناء ومكدس التتبع.</para>
/// </retvalue>
/// </الملخص>
تنسيق السلسلة الثابتة العامة (استثناء ex، سلسلة CatchInfo)
{
StringBuilder strBuilder = new StringBuilder();
إذا (catchInfo != String.Empty)
{
strBuilder.Append(catchInfo).Append("rn");
}
strBuilder.Append(ex.Message).Append("rn").Append(ex.StackTrace);
إرجاع strBuilder.ToString();
}
/**//// <summary>
/// طريقة كتابة سجل الأحداث الفعلية
/// <param name="level">مستوى المعلومات المطلوب تسجيلها (خطأ، تحذير، معلومات، تتبع).</param>
/// <param name="messageText">النص المطلوب تسجيله.</param>
/// </الملخص>
سجل الكتابة الثابت الخاص (مستوى TraceLevel، نص رسالة السلسلة)
{
يحاول
{
EventLogEntryType LogEntryType;
التبديل (المستوى)
{
حالة TraceLevel.خطأ:
LogEntryType = EventLogEntryType.Error;
استراحة؛
حالة TraceLevel.تحذير:
LogEntryType = EventLogEntryType.Warning;
استراحة؛
حالة TraceLevel.Info:
LogEntryType = EventLogEntryType.Information;
استراحة؛
حالة TraceLevel.Verbose:
LogEntryType = EventLogEntryType.SuccessAudit;
استراحة؛
تقصير:
LogEntryType = EventLogEntryType.SuccessAudit;
استراحة؛
}
EventLog eventsLog = new EventLog("Application", ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName );
//اكتب سجل الأحداث
EventLog.WriteEntry(messageText, LogEntryType);
}
قبض على {} // تجاهل أي استثناءات
}
} // سجل تطبيق الفئة
}
12. يتم تمرير اللوحة أفقيًا وتتوسع عموديًا تلقائيًا
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
13. أدخل للتحويل إلى علامة التبويب
<script language="javascript" لـ = "document" حدث = "onkeydown">
if(event.keyCode==13 && events.srcElement.type!='button' &&
events.srcElement.type!='إرسال' && events.srcElement.type!='إعادة تعيين'
&& events.srcElement.type!=''&& events.srcElement.type!='textarea');
this.event.keyCode=9;
</script>
onkeydown="if(event.keyCode==13) events.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)
{
إذا (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 visual="False"sortexpression="demo" headertext="ID">
<نموذج العنصر>
<ASP:LABEL text='<%# DataBinder.Eval(Container.DataItem,
"معرف المقالة")%>' runat="server" width="80%" id="lblColumn" />
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
<ASP:TEMPLATECOLUMN headertext="check">
<HEADERstyle Wrap="False" Horizontalalign="Center"></HEADERstyle>
<نموذج العنصر>
<ASP:CHECKBOX id="chkExport" runat="server" />
</ITEMTEMPLATE>
<تعديل القالب>
<ASP:CHECKBOX id = "chkExportON" runat = "الخادم" ممكّن = "صحيح" />
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
كود الواجهة الخلفية
محمي باطل CheckAll_CheckedChanged(object sender, System.EventArgs e)
{
// قم بتغيير تحديد الأعمدة لتحديد الكل أو لا شيء.
CheckBox chkExport;
إذا (التحقق من الكل. تم التحقق)
{
foreach (DataGridItem oDataGridItem في MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = true;
}
}
آخر
{
foreach (DataGridItem oDataGridItem في MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = false;
}
}
}
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")%>
معروض كـ: 11-8-2004 19:44:28
أريد فقط: 11-8-2004]
<%# DataBinder.Eval(Container.DataItem, "Company_Ureg_Date", "{0:yyyy-Md}")%>
كيف يجب أن أغيره؟
[تاريخ التنسيق]
أخرجه، عادة ما يعترض
((DateTime)objectFromDB).ToString("yyyy-MM-dd")
;
A. تنسيق الإدخال الصحيح التالي: [2004-2-29]، [2004-02-29 10: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])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)
19. كيفية تعيين المتغير العام
Global.asax في حدث Application_Start() وإضافة Application[attribute name] = xxx;
إنه المتغير العام الخاص بك
20. كيفية إجراء الاتصال الناتج عن HyperLinkColumn بالنقر فوق الاتصال لفتح نافذة جديدة؟
يحتوي HyperLinkColumn على سمة الهدف، فقط قم بتعيين القيمة على "_blank". (Target = "_blank")
[ASPNETMENU] انقر فوق عنصر القائمة لتظهر نافذة جديدة. أضف URLTarget = "_blank" إلى عنصر القائمة في بيانات القائمة ملف .xml.
على سبيل المثال:
<?xml version="1.0" encoding="GB2312"?>
<MenuData ImagesBaseURL="images/">
<مجموعة القائمة>
<MenuItem Label="معلومات المعلمة الداخلية" URL="Infomation.aspx" >
<معرف مجموعة القائمة = "بي بي سي">
<MenuItem Label="معلومات الإعلان" URL="Infomation.aspx"
URLTarget="_blank" LeftIcon="file.gif"/>
<MenuItem Label="إعداد ملخص المعلومات" URL="NewInfo.aspx" LeftIcon="file.gif" />
من الأفضل ترقية قائمة aspnetmenu إلى الإصدار 1.2