0. Gunakan sesi untuk menentukan apakah akan masuk
jika (Sesi["login"] == null)
{
Respon.Redirect("error.aspx");
}
1. Buka jendela baru dan berikan parameter:
Parameter transmisi:
respon.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>")
Terima parameter:
string a = Permintaan.QueryString("id");
string b = Permintaan.QueryString("id1");
2. Tambahkan kotak dialog ke tombol
Button1.Attributes.Add("onclick","return konfirmasi('Konfirmasi?')");
button.attributes.add("onclick","if(confirm('apakah Anda yakin .. .?')){kembali benar;}else{kembali salah;}")
3. Hapus record yang dipilih pada tabel
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "HAPUS dari Karyawan di mana emp_id = " + intEmpID.ToString()
4. Hapus peringatan catatan tabel
private void DataGrid_ItemCreated(Pengirim objek,DataGridItemEventArgs e)
{
beralih(e.Item.ItemType)
{
kasus ListItemType.Item :
kasus ListItemType.AlternatingItem :
kasus ListItemType.EditItem:
TableCell myTableCell;
myTableCell = e.Item.Sel[14];
LinkButton myDeleteButton;
myDeleteButton = (LinkButton)myTableCell.Controls[0];
myDeleteButton.Attributes.Add("onclick","return konfirmasi('Apakah Anda yakin ingin menghapus pesan ini');");
merusak;
bawaan:
merusak;
}
}
5. Klik baris tabel untuk menautkan ke halaman lain
private void grdCustomer_ItemDataBound(pengirim objek, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//Klik formulir untuk membuka
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 + "');");
}
Klik dua kali tabel untuk menyambung ke halaman lain di acara itemDataBind
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item.cells[1].Teks;
...
e.item.Attributes.Add("ondblclick", "location.href='../ShippedGrid.aspx?id=" + OrderItemID + "'");
}
Klik dua kali tabel untuk membuka halaman baru
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item.cells[1].Teks;
...
e.item.Attributes.Add("ondblclick", "open('../ShippedGrid.aspx?id=" + OrderItemID + "')");
}
★Catatan khusus: [?id=] tidak boleh [?id =]
6. Lewati parameter di kolom hyperlink tabel
<asp:HyperLinkColumn Target="_blank" headertext="Nomor ID" DataTextField="id" NavigateUrl="aaa.aspx?id='<%# DataBinder.Eval(Container.DataItem, "Bidang Data 1")%>' & nama='<%# DataBinder.Eval(Container.DataItem, "Bidang Data 2")%>' />
7. Klik pada tabel untuk mengubah warna
if (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';");
}
Ditulis dalam _ItemDataBound dari 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. Tentang format tanggal
pengaturan format tanggal
DataFormatString="{0:yyyy-MM-dd}"
Saya pikir itu seharusnya ada di acara itembound
e.items.cell["kolom Anda"].text=DateTime.Parse(e.items.cell["kolom Anda"].text.ToString("yyyy-MM-dd"))
9. Dapatkan informasi kesalahan Jangan gunakan Response.Redirect ke halaman yang ditentukan, tetapi gunakan Server.Transfer.
misalnya
// di global.asax
protected void Application_Error(Pengirim objek, EventArgs e) {
jika (Server.GetLastError() adalah HttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
//Tidak apa-apa untuk menyerahkan pengecualian non-HttpUnhandledException lainnya ke ASP.NET itu sendiri :)
}
Redirect akan menyebabkan post-back dihasilkan dan informasi kesalahan akan hilang, sehingga panduan halaman harus dijalankan langsung di sisi server, sehingga informasi kesalahan dapat diperoleh di halaman penanganan kesalahan dan diproses sebagaimana mestinya.
10.Hapus Cookie
Cookie.Kedaluwarsa=[TanggalWaktu];
Response.Cookies("Nama Pengguna").Kedaluwarsa = 0
11. Penanganan pengecualian khusus
// Kelas penanganan pengecualian khusus
menggunakan Sistem;
menggunakan System.Diagnostics;
namespace MyAppException
{
/// <ringkasan>
/// Kelas penanganan pengecualian aplikasi yang diwarisi dari kelas pengecualian sistem ApplicationException.
/// Secara otomatis merekam konten pengecualian ke log aplikasi Windows NT/2000
/// </ringkasan>
AppException kelas publik: Sistem.ApplicationException
{
Pengecualian Aplikasi Publik()
{
jika (ApplicationConfiguration.EventLogEnabled)
LogEvent("Terjadi kesalahan yang tidak diketahui.");
}
AppException publik (pesan string)
{
LogEvent(pesan);
}
AppException publik (pesan string, Pengecualian innerException)
{
LogEvent(pesan);
jika (innerException != null)
{
LogEvent(innerException.Pesan);
}
}
//Kelas pencatatan
menggunakan Sistem;
menggunakan Sistem.Konfigurasi;
menggunakan Sistem.Diagnostik;
menggunakan Sistem.IO;
menggunakan Sistem.Teks;
menggunakan System.Threading;
namespace MyEventLog
{
/// <ringkasan>
/// Kelas pencatatan peristiwa, menyediakan dukungan pencatatan peristiwa
/// <keterangan>
/// Mendefinisikan 4 metode logging (kesalahan, peringatan, info, jejak)
/// </keterangan>
/// </ringkasan>
ApplicationLog kelas publik
{
/// <ringkasan>
/// Catat informasi kesalahan ke log peristiwa Win2000/NT
/// <param name="message">Informasi teks yang akan direkam</param>
/// </ringkasan>
public static void WriteError (Pesan string)
{
WriteLog(TraceLevel.Error, pesan);
}
/// <ringkasan>
/// Catat informasi peringatan ke log peristiwa Win2000/NT
/// <param name="message">Informasi teks yang akan direkam</param>
/// </ringkasan>
public static void WriteWarning (Pesan string)
{
WriteLog(TraceLevel.Peringatan, pesan);
}
/// <ringkasan>
/// Catat informasi prompt ke dalam log peristiwa Win2000/NT
/// <param name="message">Informasi teks yang akan direkam</param>
/// </ringkasan>
public static void WriteInfo (Pesan string)
{
WriteLog(TraceLevel.Info, pesan);
}
/// <ringkasan>
/// Rekam informasi penelusuran ke log peristiwa Win2000/NT
/// <param name="message">Informasi teks yang akan direkam</param>
/// </ringkasan>
public static void WriteTrace (Pesan string)
{
WriteLog(TraceLevel.Verbose, pesan);
}
/// <ringkasan>
/// Format format informasi teks yang direkam ke log peristiwa
/// <param name="ex">Objek pengecualian yang perlu diformat</param>
/// <param name="catchInfo">String judul informasi pengecualian.</param>
/// <nilai kembali>
/// <para>String informasi pengecualian yang diformat, termasuk konten pengecualian dan tumpukan jejak.</para>
/// </nilai kembali>
/// </ringkasan>
FormatException String statis publik (Pengecualian ex, String catchInfo)
{
StringBuilder strBuilder = StringBuilder baru();
if (catchInfo != String.Kosong)
{
strBuilder.Append(catchInfo).Append("rn");
}
strBuilder.Append(ex.Message).Append("rn").Append(ex.StackTrace);
kembalikan strBuilder.ToString();
}
/// <ringkasan>
/// Metode penulisan log peristiwa sebenarnya
/// <param name="level">Tingkat informasi yang akan dicatat (kesalahan, peringatan, info, jejak).</param>
/// <param name="messageText">Teks yang akan direkam.</param>
/// </ringkasan>
private static void WriteLog (Tingkat TraceLevel, String messageText)
{
mencoba
{
EventLogEntryType LogEntryType;
beralih (tingkat)
{
kasus TraceLevel.Error:
LogEntryType = EventLogEntryType.Error;
merusak;
case TraceLevel. Peringatan:
LogEntryType = EventLogEntryType.Peringatan;
merusak;
kasus TraceLevel.Info:
LogEntryType = EventLogEntryType.Informasi;
merusak;
kasus TraceLevel.Verbose:
LogEntryType = EventLogEntryType.SuccessAudit;
merusak;
bawaan:
LogEntryType = EventLogEntryType.SuccessAudit;
merusak;
}
EventLog eventLog = new EventLog("Aplikasi", ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName );
//tulis log peristiwa
eventLog.WriteEntry
(pesanTeks, LogEntryType);
catch {} //Abaikan pengecualian apa pun
}
} //kelas ApplicationLog
}
12.Panel bergulir secara horizontal dan secara otomatis meluas secara vertikal
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
13. Ubah Enter menjadi Tab
<skrip bahasa="javascript" for="document" event="onkeydown">
if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='kirim' && event.srcElement.type!='reset' && event.srcElement.type!=' '&& event.srcElement.type!='textarea');
acara.Kode Kunci=9;
</script>
onkeydown="if(event.keyCode==13) event.keyCode=9"
http://dotnet.aspx.cc/exam/enter2tab.aspx
14.Kolom koneksi superDataGrid
DataNavigateUrlField="Nama bidang" DataNavigateUrlFormatString=" http://xx/inc/delete.aspx?ID={0 }"
15. Baris DataGrid berubah warna dengan mouse
private void DGzf_ItemDataBound(pengirim objek, 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. Kolom templat
<ASP:TEMPLATECOLUMN terlihat="False" sortexpression="demo" headertext="ID">
<TEMPLATE ITEM>
<ASP:LABEL text='<%# DataBinder.Eval(Container.DataItem, "ArticleID")%>' runat="server" width="80%" id="lblColumn" />
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
<ASP:TEMPLATECOLUMN headertext="periksa">
<HEADERSTYLE wrap="False" horizontalalign="Tengah"></HEADERSTYLE>
<TEMPLATE ITEM>
<ASP:CHECKBOX id="chkExport" runat="server" />
</ITEMTEMPLATE>
<TEMPLATE EDIT>
<ASP:CHECKBOX id="chkExportON" runat="server" diaktifkan="benar" />
</EDITITEMPLATE>
</ASP:TEMPLATECOLUMN>
Kode backend
dilindungi void CheckAll_CheckedChanged(pengirim objek, System.EventArgs e)
{
//Ubah pilihan kolom untuk memilih semua atau tidak sama sekali.
Kotak Centang chkEkspor;
if(PeriksaSemua.Diperiksa)
{
foreach(DataGridItem oDataGridItem di MyDataGrid.Items)
{
chkExport = (Kotak Centang)oDataGridItem.FindControl("chkExport");
chkExport.Diperiksa = benar;
}
}
kalau tidak
{
foreach(DataGridItem oDataGridItem di MyDataGrid.Items)
{
chkExport = (Kotak Centang)oDataGridItem.FindControl("chkExport");
chkExport.Diperiksa = false;
}
}
}
17. Pemformatan angka [Hasil <%#Container.DataItem("price")%> adalah 500.0000, bagaimana formatnya menjadi 500.00?]
<%#Container.DataItem("price","{0:¥# , ##0.00}")%>
int i=123456;
string s=i.ToString("###,###.00");
18. Pemformatan tanggal
[Di halaman aspx: <%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
Ditampilkan sebagai: 11-8-2004 19:44:28
Saya hanya ingin: 2004-8-11]
<%# DataBinder.Eval(Container.DataItem, "Company_Ureg_Date", "{0:yyyy-Md}")%>
Bagaimana cara mengubahnya?
[Format tanggal]
Keluarkan, biasanya keberatan
((DateTime)objectFromDB).ToString("yyyy-MM-dd");
[Ekspresi validasi untuk tanggal]
A. Format input yang benar berikut ini: [29-2-2004], [29-02-2004 10:29:39 pm], [31/12/2004]
^((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. Format masukan yang benar berikut ini: [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])) $
[Konversi kasus]
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
19. Cara mengatur variabel global
Dalam acara Application_Start()
di Global.asax
, tambahkan Application[attribute name] = xxx;
yang merupakan variabel global Anda.
20. Bagaimana cara mengklik koneksi untuk membuka jendela baru setelah koneksi dihasilkan oleh HyperLinkColumn?
HyperLinkColumn memiliki atribut Target, cukup atur nilainya menjadi "_blank". (Target="_blank")
[ASPNETMENU] Klik item menu untuk memunculkan jendela baru. Tambahkan URLTarget="_blank" ke item menu di menuData Anda berkas .xml.
menyukai:
<?xml versi="1.0" pengkodean="GB2312"?>
<MenuData ImagesBaseURL="gambar/">
<Grup Menu>
<MenuItem Label="Informasi parameter internal" URL="Infomation.aspx" >
<ID Grup Menu="BBC">
<MenuItem Label="Informasi Pengumuman" URL="Infomation.aspx" URLTarget="_blank" LeftIcon="file.gif"/>
<MenuItem Label="Siapkan pengarahan informasi" URL="NewInfo.aspx" LeftIcon="file.gif" />
...
Yang terbaik adalah mengupgrade aspnetmenu Anda ke versi 1.2
21. Delegasikan diskusi
http://community.csdn.net/Expert/topic/2651/2651579.xml?temp=.7183191
http://dev.csdn.net/develop/article/22/22951.shtm
22. Baca nilai TextBox kontrol DataGrid
untuk setiap(DataGrid dgi di YourDataGrid.Items)
{
TextBox tb = (TextBox)dgi.FindControl("yourTextBoxId");
tb.Teks....
}
23. Ada tiga kolom templat di DataGrid yang berisi Kotak Teks: DG_ShuLiang (kuantitas), DG_DanJian (harga satuan), dan DG_JinE (jumlah) masing-masing di kolom 5.6.7. Diperlukan untuk menghitung jumlah secara otomatis saat memasukkan kuantitas dan harga satuan, yaitu: kuantitas * harga satuan =Jumlahnya juga harus dibatasi pada nilai numerik saat dimasukkan. Bagaimana saya bisa menggunakan skrip klien untuk mengimplementasikan fungsi ini
?
<asp:TemplateColumn HeaderText="Jumlah">
<Templat Barang>
<asp:TextBox id="ShuLiang" runat='server' Text='<%# DataBinder.Eval(Container.DataItem,"DG_ShuLiang")%>'
onkeyup="javascript:DoCal()"
/>
<asp:RegularExpressionValidator id="revS" runat="server" ControlToValidate="ShuLiang" ErrorMessage="harus berupa bilangan bulat" ValidationExpression="^d+$" />
</Templat Barang>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Harga satuan">
<Templat Barang>
<asp:TextBox id="DanJian" runat='server' Text='<%# DataBinder.Eval(Container.DataItem,"DG_DanJian")%>'
onkeyup="javascript:DoCal()"
/>
<asp:RegularExpressionValidator id="revS2" runat="server" ControlToValidate="DanJian" ErrorMessage="harus berupa numerik" ValidationExpression="^d+(.d*)?$" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Jumlah">
<Templat Barang>
<asp:TextBox id="JinE" runat='server' Text='<%# DataBinder.Eval(Container.DataItem,"DG_JinE")%>' />
</Templat Barang>
</asp:Kolom Templat>
<skrip bahasa="javascript">
fungsiDoCal()
{
var e = acara.srcElement;
var baris = e.parentNode.parentNode;
var txts = baris.semua.tag("INPUT");
if (!txts.length || txts.panjang < 3)
kembali;
var q = txts[txts.panjang-3].nilai;
var p = txts[txts.panjang-2].nilai;
jika (isNaN(q) || isNaN(p))
kembali;
q = parseInt(q);
p = parseFloat(p);
txt[txts.panjang-1].nilai = (q * p).toFixed(2);
}
</skrip>
24.Ketika baris di bagian bawah datagrid dipilih untuk perbandingan, mengapa selalu disegarkan lalu digulir ke atas? Baris yang baru saja dipilih tidak dapat dilihat karena layar.
halaman_muat
page.smartNavigation=true
25. Memodifikasi data di Datagrid. Ketika tombol edit diklik, data muncul di kotak teks. Bagaimana cara mengontrol ukuran kotak teks?
private void DataGrid1_ItemDataBound(obj sender,DataGridItemEventArgs e)
{
for(int i=0;i<e.Item.Cells.Count-1;i++)
if(e.Item.ItemType==ListItemType.EditType)
{
e.Item.Sel.Atribut.Tambahkan("Lebar", "80px")
}
}
26. Kotak dialog
string statis pribadi ScriptBegin = "<bahasa skrip="JavaScript">";
string statis pribadi ScriptEnd = "</script>";
public static void KonfirmasiMessageBox(string PageTarget,string Konten)
{
KonfirmasiContent
="var retvalue="/blog/window.confirm('"+Konten+"');"+"if(retValue){window.location="'"+PageTarget+"';}";
+ Konfirmasi Konten + ScriptEnd;
Parameter Halaman Halaman = (Halaman) Sistem.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("konfirmasi",KonfirmasiKonten);
//Respon.Tulis(strScript
);
http://www.cnblogs.com/robber/archive/2007/01/09/615835.html