2011-01-11 38 views
1

我想創建一個公用Sub /功能,讓我對某些變量傳遞到它,這將影響輸出。例如創建一個公共函數/子來設置CSS和其他屬性

DIV ID = InfoDiv
CSS類= 「警告」
LBInfoMsg.Text = 「出現了一個錯誤」
div可見=真或假

我想鍵入代碼類似的東西頁面背後:

InfoMsg(InfoDiv, "warning", "An Error has Occured", True) 

我知道這是錯誤的,但這裏是我迄今爲止嘗試和失敗...

Public Sub InfMsg(ByRef MyDIV As System.Web.UI.HtmlControls.HtmlGenericControl, ByRef CSS As System.Web.UI.WebControls.Style, ByVal strMessage As String) 
     strMessage = strMessage.Replace("'", "''") 
     MyDIV.Attributes.Add("Style", "warning") 
     MyDIV.Visible = "True" 

    End Sub 
+0

爲什麼你傳遞`MyDiv`&`CSS`既是`ByRef` ?你打算在你的'InfMsg`調用中改變參考嗎? – Enigmativity 2011-01-11 23:52:24

+0

他們只在那裏,因爲我是用它進行試驗爲它的東西我不熟悉。我希望儘可能更改參考,以便在必要時可以在同一頁面中多次使用它。 – James 2011-01-11 23:59:49

回答

1

沒有得到太多被推入lambda表達式和這樣的,這裏就是我想出了根據您所提供的細節:

Public Sub InfMsg(ByRef MyDIV As System.Web.UI.HtmlControls.HtmlGenericControl, ByRef CssClass As String, ByVal strMessage As String, ByVal visible As Boolean) 

    MyDIV.Attributes("style") = "visibility:" & If(visible, "visible", "hidden") & ";" 
    Dim lbl As New Label 
    lbl.CssClass = CssClass 
    lbl.Text = System.Web.HttpUtility.HtmlEncode(strMessage) 
    MyDIV.Controls.Add(lbl) 

End Sub 
相關問題