Ja, es ist möglich, das Modell der Ansicht Objekt sein sollte, und die Steuerung kann ein generischer Controller sein, aber Sie sollten Ihre eigene ControllerControllerFactory bauen wie:
public class MyGenericControllerFactory : DefaultControllerFactory
{
public override IController CreateController(RequestContext reqContext, string controllerName)
{
if(is controlleName generic) //you should define how build controller name when is generic
//it should contain the controller name and the generic type name
{
string contRealName = "";//get the real controller name from controllerName var
string genTypeName = ""; //get the generic type name fomr controllerName var
Type contType = Type.GetType(contRealName);
Type genType = Type.GetType(genTypeName);
contType = contType.MakeGenericType(genType);
return an instance of contType from your IoC container
}
else
{
Type contType = Type.GetType(controllerName);
return an instance of contType from your IoC container
}
}
}
ich Ihre Antwort und andere Dinge verwendet , ich erstelle eine '.cshtml' Datei oder ersetze sie, dann durchlaufe ich die 'Eigenschaften', wenn die Eigenschaft mich zu einer 'rekursiven Schleife' führt, ignoriere ich sie, wenn es eine Implementierung von 'IEnumerable' ist a '@ Html.DropdownList (propName)' und fügen Sie dem 'ViewContext' einen' ViewBag' mit einer automatisch generierten Linq-Abfrage mit AI hinzu, wie ein großer generischer 'StringBuilder' zum Erzeugen und Lesen einer' .cshtml' Datei –
Lucas