0
我有一個用於我的webforms項目的html helper類。到目前爲止,它可以返回字符串來創建標籤和只讀字段。如何將一個屬性傳遞給html幫助器方法
Public Shared Function DisplayFor(value As String, Optional attributes As String = "") As String
Return [String].Format("<span class='uneditable-input {0}'>{1}</span>", GetSStyle(attributes), value)
End Function
現在我想創造一些重載可以接受通過實體屬性,因此它可以在內部檢查的數據類型(從屬性),並顯示格式化的內容,例如。就像MVC一樣。
唯一的問題是,我不知道如何傳遞一個類屬性作爲函數參數。
我試着實現你描述的簽名,並且我得到一些錯誤。如果我在代碼隱藏中調用:「未爲'public func ...'的參數'expr'指定的參數」並且「Parameter'm'將屬性MyForm.m隱藏爲MytableRow' 如果我將它包含在標記中:」Can not將類型'lambda表達式'轉換爲參數類型'String'。 請記住,我在webforms中使用這個函數,並沒有Html對象或MVC解析。 – Sergio
@Sergio:對不起,一切看起來「如此MVC」,我走錯了方向。我已經更新了我的答案,以顯示沒有MVC幫手的方式。 – Markus
編輯完成後,代碼運行良好。然而,我不得不這樣做這樣的調用:<%= DisplayFor(myModelVar,Function(m As myModelVarClass)m.MyProperty)%>這有點煩人。有沒有辦法消除定義m類型的需要,還是必須通過MyRow並只從字段中獲取值?無論如何,謝謝。那小小的代碼將會讓我無法寫出很多東西! – Sergio