之前這篇文章有說怎麼在專案模式中對使用者控制項傳參數進去。
但是同樣的方法在網站模式就不適用了,要動一點小手腳,
這是因為網站模式的Class程式碼都放在App_Code中集中管理,
也就是說,如果你的Class是放在App_Code以外的地方,是讀不到的。
要解決此問題首先我們建立一個Class放在App_Code
而此Class內含1個屬性(Property)做為我們測試要傳變數的地方
Imports Microsoft.VisualBasic Public Class KClass Inherits System.Web.UI.UserControl Private _p1 As String Public Property P1() As String Get Return _p1 End Get Set(ByVal value As String) _p1 = value End Set End Property End Class
然後再到使用者控制項的程式碼中修改為繼承我們剛才新增的Class就可以了
Partial Class uc Inherits KClass Protected Sub Page_Load _ (ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Me.Load Response.Write(P1) End Sub End Class
而傳遞參數的方式則跟專案模式的一樣
Dim x As KClass = _ CType(LoadControl("uc.ascx"), KClass) x.P1 = "測試文字" Me.Controls.Add(x)
如果你是使用專案模式開發ASP.Net的請到這邊