c# - How to get variable into another razor expression -


string[] showproperties = {"id", "name"}; @* user has many properties, id, name, address, etc... *@  <!-- want show properties in shownproperties list --> @for (int j = 0; j < showproperties.length; j++) {     <td>        @user.showproperties[j]     </td> } 

normally @user.id or @user.name display, in case, [property] dynamically pulled value of array of showcolumns.

the @user.showproperties[j] above won't work, razor won't recognize id property example. there way inject 'id' @user.[] @user.id?

how do @user.(mydynamicproperty) properly?

if dynamic object of type expandoobject, simple casting dynamic object type idictionary<string, object> because expandoobject's implement interface. here example razor program:

@{      string[] showcolumns = new string[3] {"property1", "property2", "property3"};     dynamic myobject = new system.dynamic.expandoobject();     myobject.property1 = "first property!";     myobject.property2 = "second property!";     myobject.property3 = "third property!";      (int = 0; < showcolumns.length; i++)     {         var propertyvalues = (idictionary<string, object>)myobject;         <p>@propertyvalues[showcolumns[i]]</p>     } } 

if object not expandoobject, might little more difficult. difficult, not impossible. @ answer here.


Comments

Popular posts from this blog

c++ - Difference between pre and post decrement in recursive function argument -

php - Nothing but 'run(); ' when browsing to my local project, how do I fix this? -

php - How can I echo out this array? -