之前
這篇文章有說怎麼在專案模式中對使用者控制項傳參數進去。
但是同樣的方法在網站模式就不適用了,要動一點小手腳,
這是因為網站模式的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
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的請到
這邊
ASP.Net
,
UserControl
,
VB.Net
,
使用者控制項
近期留言