2007/05/07
2007/02/10
2006/10/08
教學:如何寄MAIL
Dim objmail As New System.Web.Mail.MailMessage
objmail.From = "寄件者的MAIL"
objmail.To = "收件者的MAIL"
//以下是用下拉式選單做到選擇內文的格式

Select Case DDList3.SelectedValue
Case 0 objmail.BodyFormat = MailFormat.Text
Case 1 objmail.BodyFormat = MailFormat.Html
End Select
//以下是用下拉式選單做到選擇內文編碼格式

Select Case DDList4.SelectedValue
Case 0 objmail.BodyEncoding = Encoding.UTF8
Case 1 objmail.BodyEncoding = Encoding.UTF7
Case 2 objmail.BodyEncoding = Encoding.ASCII
Case 3 objmail.BodyEncoding = Encoding.Unicode
End Select
objmail.Subject = "郵件的主旨"
objmail.Body = "郵件的內文"
//以下是確認是否有附加檔案

If mailfile.PostedFile.ContentLength > 0 Then
Dim attachfile As New MailAttachment(mailfile.PostedFile.FileName())
objmail.Attachments.Add(attachfile)
End If
//下面這三行用來設定SMTP SERVER的認證 帳號密碼用的
//經驗:先前在公司電腦不需要加這三行, 只需要設定SMTP SERVER即可,
//應該是公司的電腦已經加入網域, 所以不需要對公司的mail server再認證,
//但是最近我在自己電腦上用mdaemon來架mail server, 先前寫的卻不行,
//但是加上以下三行即可 寄出
//否則會出現錯誤訊息"伺服器拒絕了一個或多個收件者地址。伺服器的回應為:550..."

objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/
smtpauthenticate", "1")
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/
sendusername", "SMTP SERVER帳號")
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/
sendpassword", "SMTP SERVER密碼")
SmtpMail.SmtpServer = "MAIL SERVER ADDRESS"
SmtpMail.Send(objmail)
objmail.From = "寄件者的MAIL"
objmail.To = "收件者的MAIL"
//以下是用下拉式選單做到選擇內文的格式

Select Case DDList3.SelectedValue
Case 0 objmail.BodyFormat = MailFormat.Text
Case 1 objmail.BodyFormat = MailFormat.Html
End Select
//以下是用下拉式選單做到選擇內文編碼格式

Select Case DDList4.SelectedValue
Case 0 objmail.BodyEncoding = Encoding.UTF8
Case 1 objmail.BodyEncoding = Encoding.UTF7
Case 2 objmail.BodyEncoding = Encoding.ASCII
Case 3 objmail.BodyEncoding = Encoding.Unicode
End Select
objmail.Subject = "郵件的主旨"
objmail.Body = "郵件的內文"
//以下是確認是否有附加檔案

If mailfile.PostedFile.ContentLength > 0 Then
Dim attachfile As New MailAttachment(mailfile.PostedFile.FileName())
objmail.Attachments.Add(attachfile)
End If
//下面這三行用來設定SMTP SERVER的認證 帳號密碼用的
//經驗:先前在公司電腦不需要加這三行, 只需要設定SMTP SERVER即可,
//應該是公司的電腦已經加入網域, 所以不需要對公司的mail server再認證,
//但是最近我在自己電腦上用mdaemon來架mail server, 先前寫的卻不行,
//但是加上以下三行即可 寄出
//否則會出現錯誤訊息"伺服器拒絕了一個或多個收件者地址。伺服器的回應為:550..."

objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/
smtpauthenticate", "1")
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/
sendusername", "SMTP SERVER帳號")
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/
sendpassword", "SMTP SERVER密碼")
SmtpMail.SmtpServer = "MAIL SERVER ADDRESS"
SmtpMail.Send(objmail)
2006/07/14
Asp.Net2.0的GridView如何匯出成EXCEL?
在Asp .Net 1.1的時代
我們只要把資料導入DataGrid然後用以下程式碼即可串流輸出成Excel的檔案類型!
*********************************************
Response.ContentType = "application/vnd.ms-excel"
Response.Charset = ""
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
DataGrid.RenderControl(hw)
Response.Write(tw.ToString())
Response.End()
*********************************************
但是到了Asp .Net 2.0 如果照原本的做法, 換到GridView上面, 就會發生錯誤!
錯誤訊息會叫使用者把GridView放置在有runat="server"的表單裡面!
但是使用者如果是使用VS2005的編譯環境, 應該都會放置在runat="server"
的Form裡面, 但是還是會有這樣的錯誤!
所以只需要在程式碼裡面加上以下的code即可讓GridView能像DataGrid一樣
正常運作!!!!匯出成Excel的檔案!
*************************************************
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
End Sub
*************************************************
我們只要把資料導入DataGrid然後用以下程式碼即可串流輸出成Excel的檔案類型!
*********************************************
Response.ContentType = "application/vnd.ms-excel"
Response.Charset = ""
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
DataGrid.RenderControl(hw)
Response.Write(tw.ToString())
Response.End()
*********************************************
但是到了Asp .Net 2.0 如果照原本的做法, 換到GridView上面, 就會發生錯誤!
錯誤訊息會叫使用者把GridView放置在有runat="server"的表單裡面!
但是使用者如果是使用VS2005的編譯環境, 應該都會放置在runat="server"
的Form裡面, 但是還是會有這樣的錯誤!
所以只需要在程式碼裡面加上以下的code即可讓GridView能像DataGrid一樣
正常運作!!!!匯出成Excel的檔案!
*************************************************
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
End Sub
*************************************************
2006/04/12
教學:如何動態加入user control ?
如果你已經有自己寫好的控制項, 又想要動態加入的話!!!
就用LoadControl("*.ascx") 就可以啦!
C# :
**************************************************
Control ucMode = LoadControl("XXX.ASCX");
this.FindControl("FORM").Controls.Clear();
this.FindControl("FORM").Controls.Add(ucMode);
**************************************************
VB :
**************************************************
Dim ucMode As Control = LoadControl("XXX.ASCX")
Me.FindControl("FORM").Controls.Clear()
Me.FindControl("FORM").Controls.Add(ucMode)
**************************************************
就用LoadControl("*.ascx") 就可以啦!
C# :
**************************************************
Control ucMode = LoadControl("XXX.ASCX");
this.FindControl("FORM").Controls.Clear();
this.FindControl("FORM").Controls.Add(ucMode);
**************************************************
VB :
**************************************************
Dim ucMode As Control = LoadControl("XXX.ASCX")
Me.FindControl("FORM").Controls.Clear()
Me.FindControl("FORM").Controls.Add(ucMode)
**************************************************
2006/04/07
教學:動態改變網頁title !
1.把網頁的title tag改成Runat Server!
*********************************
<title id="webtitle" runat=server></title>
*********************************
2.宣告HTML控制項!
VB
*********************************
Protected WithEvents webtitle As HtmlGenericControl
'OR
Protected WithEvents webtitle As HtmlContainerControl
*********************************
C#
*********************************
protected HtmlGenericControl webtitle;
//OR
protected HtmlContainerControl webtitle;
*********************************
3.在PAGE_LOAD中設定TITLE名稱!
VB
*********************************
Me.webtitle.InnerHtml = "XXX討論區"
*********************************
C#
*********************************
this.webtitle.InnerHtml="XXX討論區";
*********************************
*********************************
<title id="webtitle" runat=server></title>
*********************************
2.宣告HTML控制項!
VB
*********************************
Protected WithEvents webtitle As HtmlGenericControl
'OR
Protected WithEvents webtitle As HtmlContainerControl
*********************************
C#
*********************************
protected HtmlGenericControl webtitle;
//OR
protected HtmlContainerControl webtitle;
*********************************
3.在PAGE_LOAD中設定TITLE名稱!
VB
*********************************
Me.webtitle.InnerHtml = "XXX討論區"
*********************************
C#
*********************************
this.webtitle.InnerHtml="XXX討論區";
*********************************
教學:How to make a 多載函數?
這也是最近我才發現VB跟C++一樣可以有多載函數的功能!
C#就不用說了!他跟C++根本就如出一冊!
不過寫法都大同小異.....
就已VB為例!
*******************************************
Public Class className
Public function funcName()
.......
...
.........
end function
Public function funcName(ByVal num as integer)
.......
...
.........
..............
end function
Public function funcName(ByVal str as string)
.......
...
.........
......
end function
end calss
*******************************************
因為 funcName這個function被重複宣告三次;差別只在於傳入的值不同;
所以宣告的時候不會出現因為函數名稱相同而導致的錯誤!
這樣的寫法;就是一個多載函數!
在別的地方引用,就會根據你傳入的值,還會導入不同的FUNC裡面做動作!
C#就不用說了!他跟C++根本就如出一冊!
不過寫法都大同小異.....
就已VB為例!
*******************************************
Public Class className
Public function funcName()
.......
...
.........
end function
Public function funcName(ByVal num as integer)
.......
...
.........
..............
end function
Public function funcName(ByVal str as string)
.......
...
.........
......
end function
end calss
*******************************************
因為 funcName這個function被重複宣告三次;差別只在於傳入的值不同;
所以宣告的時候不會出現因為函數名稱相同而導致的錯誤!
這樣的寫法;就是一個多載函數!
在別的地方引用,就會根據你傳入的值,還會導入不同的FUNC裡面做動作!
2006/04/06
教學:如何將datagrid匯出Excel在client side!
1.首先,將DB裡面的資料撈出來放在datagrid裡面!
2.將下面的程式COPY 使用之!!即可response成Excel在client side摟!
*******************************
Response.ContentType = "application/vnd.ms-excel"
Response.Charset = ""
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
DataGrid1.RenderControl(hw)
Response.Write(tw.ToString())
Response.End()
*******************************
2.將下面的程式COPY 使用之!!即可response成Excel在client side摟!
*******************************
Response.ContentType = "application/vnd.ms-excel"
Response.Charset = ""
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
DataGrid1.RenderControl(hw)
Response.Write(tw.ToString())
Response.End()
*******************************
錯誤訊息:具有潛在危險 Request.Form 的值...
如果使用者submit的內容有不安全的值
ASP.NET預設會擋掉!
例如一些 tag(HTML)或是 SQL指令!
怎樣解除這個好心的防護呢?
如果只想再某一頁裡面取消!
*****************************
<%@ Page Language="VB" validaterequest="false" %>
*****************************
這樣就好啦~~~重點是validaterequest="false" 這串歐!
如果想要整個專案都解除!
那請在Web.config裡面設定之!
*****************************
<system.web>
<pages validateRequest="false" />
</system.web>
*****************************
ASP.NET預設會擋掉!
例如一些 tag(HTML)或是 SQL指令!
怎樣解除這個好心的防護呢?
如果只想再某一頁裡面取消!
*****************************
<%@ Page Language="VB" validaterequest="false" %>
*****************************
這樣就好啦~~~重點是validaterequest="false" 這串歐!
如果想要整個專案都解除!
那請在Web.config裡面設定之!
*****************************
<system.web>
<pages validateRequest="false" />
</system.web>
*****************************
2006/04/04
教學:如何共用function from other project ?
假設在某個project裡面想引用某一個project裡面的某個頁面的某個function,最蠢的方式就是把那個頁面複製過來!
不然就看以下的教學摟!
第一步:開啟新的專案!
第二步:方案總管理面;在參考上按下滑鼠右鍵!
第三步:選擇加入參考!
第四步:選擇專案籤頁!
第五步:按下瀏覽;到您想要加入function所在專案的資料夾;再開啟裡面的Bin資料夾;選取裡面的DLL檔;然後加入!即可!

相關教學:如何引用function
不然就看以下的教學摟!
第一步:開啟新的專案!
第二步:方案總管理面;在參考上按下滑鼠右鍵!

第三步:選擇加入參考!

第四步:選擇專案籤頁!
第五步:按下瀏覽;到您想要加入function所在專案的資料夾;再開啟裡面的Bin資料夾;選取裡面的DLL檔;然後加入!即可!


相關教學:如何引用function