2014-07-03 28 views
0

我正在鑽研我不熟悉的領域。我正在創建一個用戶控件,我想在多個表單中使用它。 (因此用戶控制的原因)。我只熟悉VB.NET語言。我用Google搜索了一下,我想我已經接近了解,但我無法弄清楚這一點。我的用戶控件上有多個按鈕。當我的用戶控件上按下「上傳」按鈕時,我希望它在我的父頁面上運行一個名爲UploadFile()的Sub,它有一個字符串參數。我有一個像這樣在我的網頁多張倍的用戶控件:提高用戶控件事件VB.NET並傳遞變量

<uc1:UploadFile ID="UploadFile1" runat="server" /> 

<uc1:UploadFile ID="UploadFile2" runat="server" /> 

在父頁面的背後我的代碼,我想在用戶控件中的上傳按鈕的Click事件中執行此功能。哪裏唯一的參數會告訴我什麼文件夾我會上傳我的文件。因此,當用戶在頁面上的第一個用戶控件中上傳文件時,它會在我的父頁面上運行我的Upload Sub,並帶上參數「a」並運行我的Sub上傳我的文檔並保存到數據庫,一種。然後我會告訴用戶控制,以改變它的標籤,以表明文件已被上傳

Sub something somethingUploadFile1_Click 
     UploadFile("a") 
End Sub 

Sub something somethingUploadFile2_Click 
     UploadFile("b") 
End Sub 

Sub UploadFile(ByVal myString as string) 
     Select Case myString 

      Case "a" 
      If UploadFile1.FileUpload.HasFile Then 
       'run code to upload file 

       'display label 
       UploadFile1.lblReplaceMsg.Text = "File " & myString & " has been uploaded." 
      End If 

      Case "b" 
      If UploadFile2.FileUpload.HasFile Then 
       'run code to upload file 

       'display label 
       UploadFile2.lblReplaceMsg.Text = "File " & myString & " has been uploaded." 
      End If 
     End Select 
End Sub 

我知道,在上面的代碼中,我應該以某種方式在引用我的用戶的按鈕,但我不知道該怎麼做。我也知道提高事件和事件授權是這方面的兩個主要組成部分,但是我只是沒有搞清楚。您能否告訴我如何使用我提供的現有示例完成我的代碼?

這裏是我現有的用戶控件背後的完整代碼:

Public Class UploadFile 
Inherits System.Web.UI.UserControl 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

End Sub 

Protected Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click 

End Sub 


Protected Sub btnDelete_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles btnDelete.Click 

End Sub 


Public Property lblViewFile() As Label 
    Get 
     Return _lblViewFile 
    End Get 
    Set(ByVal value As Label) 
     _lblViewFile = value 
    End Set 
End Property 


Public Property btnDelete() As ImageButton 
    Get 
     Return _btnDelete 
    End Get 
    Set(ByVal value As ImageButton) 
     _btnDelete = value 
    End Set 
End Property 

Public Property pnlUpload() As Panel 
    Get 
     Return _pnlUpload 
    End Get 
    Set(ByVal value As Panel) 
     _pnlUpload = value 
    End Set 
End Property 

Public Property FileUpload() As FileUpload 
    Get 
     Return _FileUpload 
    End Get 
    Set(ByVal value As FileUpload) 
     _FileUpload = value 
    End Set 
End Property 

Public Property btnUpload() As Button 
    Get 
     Return _btnUpload 
    End Get 
    Set(ByVal value As Button) 
     _btnUpload = value 
    End Set 
End Property 

Public Property lblReplaceMsg() As Label 
    Get 
     Return _lblReplaceMsg 
    End Get 
    Set(ByVal value As Label) 
     _lblReplaceMsg = value 
    End Set 
End Property 


Private _lblViewFile As Label 
Private _btnDelete As ImageButton 
Private _pnlUpload As Panel 
Private _FileUpload As FileUpload 
Private _btnUpload As Button 
Private _lblReplaceMsg As Label 






End Class 

回答