J'essaye de créer quelque chose comme l'usine de * .ascxs.Contrôleur comme usine ascx - mauvaise idée?
Scénario: Je souhaite rendre les contrôles qui dépendent du modèle, que j'ai transmis à partialView. Je voudrais réaliser quelque chose comme ceci:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyAbstractModel>" %>
<%= Model.Property1 %>
<!-- other more sophisticated displays on model -->
<% Html.RenderAction("RenderControl", "Factory", new { model = Model}); %>
FactoryController:
public ActionResult RenderControl(object model) {
if (model.GetType() == typeof(Model1) {
return RenderPartial("Partial2", model);
} else {
return RenderPartial("Partial1", model);
}
}
Je voudrais savoir est-il une meilleure façon de faire face à cette situation. Je suppose que ce n'est pas la méthode la plus efficace pour construire la page Web dans ASP.MVC 2.
Si cette méthode est acceptable, comment puis-je restreindre l'accès à un tel contrôleur? Je voudrais utiliser cette classe uniquement du côté serveur et uniquement par les pages d'ascxs