七月 13

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 1

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 2

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 3

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 4

 

來到最後一篇,終於要結束了~~~

繼續閱讀… »





七月 10

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 1

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 2

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 3

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 4

 

文章終於來到了第三部份,加油,快結束了。

繼續閱讀… »





七月 08

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 1

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 2

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 3

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 4

 

接下來,我會使用步驟式的圖解來一步一步帶大家實作MVC Area的專案分割。

繼續閱讀… »





七月 07

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 1

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 2

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 3

ASP.Net MVC 依Area切割模組,並建立個別的模組MVC專案 Part 4

 

ASP.Net MVC 提供了一個良好的程式框架,讓Model、View透過Controller連結起來。

MVC相關的觀念,在這邊我也就不再多花篇幅來介紹,各位可以google一下asp.net mvc,就會有一堆的文章與教學了。

這篇文章會把重點放在如何在ASP.Net MVC的架構中,把Area切割成獨立的專案,以達成重覆使用與統一程式碼版本控制的目的。

首先,先比較一下,把Area建立成模組的幾種方式。

繼續閱讀… »





三月 09

一般在ASP.NET中要載入圖片,都是要先把圖片存成檔案
然後把Image的Url指向圖片檔案
但是如果圖片的來源是資料庫的二進位值,或是由系統產生無實體圖片就無法這麼做了
解決方法就是使用泛型處理常式(ashx)

首先新增一個泛型處理常式(ashx)
20100309_1

然後把程式寫在裡面(程式碼請往下看)

最後把Image的Url位置指向我們新增的ashx檔的位置即可
20100309_2

範例程式:測試程式的專案檔

Default.aspx

        '把實體圖片讀成Byte
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim f As System.IO.FileStream
        f = System.IO.File.OpenRead(HttpContext.Current
                         .Server.MapPath("20100309_1.jpg"))
        Dim b(f.Length) As Byte
        f.Read(b, 0, f.Length - 1)
        Session("pic") = b
    End Sub

Showlogo.ashx

Imports System.Web.SessionState

Public Class Showlogo
    Implements System.Web.IHttpHandler
    Implements IRequiresSessionState

    Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

        Dim b() As Byte = context.Session("pic")

        context.Response.ContentType = "text/jpg"
        context.Response.BinaryWrite(b)

    End Sub

    ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class

參考資料:
在 HttpHandler 中使用 Session 的注意事項

利用 ASP.NET的泛型處理常式(Handler)產生圖片驗證碼,結合IRequiresSessionState將驗證碼儲存在session裡,透過 session值來驗證





十二月 25

要讓ASP與ASP.NET的Session可以共用的話,需要一些技巧

微軟官方作法是使用SQL Server當中介站,相關說明可參考這邊

不過考量到不是每個專案都會用到SQL Server,所以參考較為簡單的方式來解決

請參考Transfer Session Variables from Classic ASP to ASP.NET,範例網站內可下載。或由小站這邊下載

不過需注意的地方是,如果你要傳的資料很敏感,那請記得加密後再傳

且為了避免使用者攔劫資料修改,建議是加上檢查碼,或是加密

ASP.NET收到後再解密

相關網站:

Session 共用與跨網域

Transfer Session Variables from Classic ASP to ASP.NET

How to Share Session State Between Classic ASP and ASP.NET

解決ASP與ASP.NET共存於一專案Session共用問題(StateStitch)





十一月 23

在GridView中如果想要在滑鼠移動時,滑鼠所指到的那一列會變色的話可以用JavaScript來達成

效果就像下面的圖所示,滑鼠所指到的那一列會變成亮黃色,移開後再還原成原本的顏色

20091123_1

20091123_2

以下為程式碼片段,於RowDataBound的事件中綁定JavaScript到Row中

    Private Sub GridView1_RowDataBound(ByVal sender As Object, _
              ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) _
              Handles GridView1.RowDataBound
        '滑鼠移入移出效果。
        If e.Row.RowType = DataControlRowType.DataRow Then
            e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor;")
            e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor; this.style.backgroundColor='#ffff40';")
        End If
    End Sub