我正在一個項目中,我需要輸出幾百個屬性到屏幕上。爲了節省大量繁瑣的標記,我決定使用反射。模型屬性顯示名稱使用反射
//markup removed to keep this concise
@for (var i = 0; i < Model.SiteAndJobDetails.GetType().GetProperties().Count(); i++)
{
@Model.SiteAndJobDetails.GetType().GetProperties()[i].Name
@Model.SiteAndJobDetails.GetType().GetProperties()[i].GetValue(Model.SiteAndJobDetails, null)
}
儘管呈現速度較慢,但這將使我無法用HTML助手書寫大約200個屬性和值。至少,這是計劃。但是,我需要使用@Html.DisplayNameFor
或類似的東西來獲取屬性中的Display
屬性值。
我INTIAL的想法是
@Html.DisplayNameFor(m=>@Model.SiteAndJobDetails.GetType().GetProperties()[i].Name)
但是,這並不工作,因爲我使用反射在這裏得到的屬性名稱我會想象。有另一種方法嗎?
謝謝你指點我在正確的方向。你的語法有點不合適,所以我會爲未來的搜索者編輯答案。一旦編輯被接受,我會接受。非常感謝您的幫助 – James
@James,編輯被拒絕。考慮將您的解決方案作爲答案或原始帖子中的修改添加。 –
好的,upvote的幫助。非常感謝。 – James