Mi conocimiento de MVC y Razor es bastante básico, así que espero que sea algo bastante simple. Básicamente, tengo mi Controllers
como normal pero mi carpeta Views
tiene una estructura anidada. Por ejemplo, en lugar de:Cómo hacer que MVC busque en la carpeta anidada
Views -> Index.cshtml
Es como
Views -> BrandName -> Index.cshtml
creé una ayuda personalizada para solucionar este problema, pero no estoy seguro de cómo sería trabajar con direcciones URL de cadena de consulta? A modo de ejemplo aquí es un controlador:
private DataService ds = new DataService();
//
// GET: /Collections/
public ActionResult Index()
{
return View();
}
//
// GET: /Collections/Collection?id=1
public ActionResult Collection(int id)
{
var collectionModel = ds.GetCollection(id);
return View(collectionModel);
}
Pero, ¿cómo puedo obtener ActionResult Collection
mirar:
Views -> Brand2 -> Collection.cshtml
Aquí es el método de solución que estaba usando:
public static string ResolvePath(string pageName)
{
string path = String.Empty;
//AppSetting Key=Brand
string brand = ConfigurationManager.AppSettings["Brand"];
if (String.IsNullOrWhiteSpace(brand))
path = "~/Views/Shared/Error.cshtml"; //Key [Brand] was not specified
else
path = String.Format("~/Views/{0}/{1}", brand, pageName);
return path;
}
Unclear. Tienes una solución alternativa (que funciona en su mayoría) pero publica un controlador muy simple en su lugar? –
@HenkHolterman No veo mucho más que proceda con la solución ya que probablemente haya una forma de hacerlo naturalmente – ediblecode
@HenkHolterman No veo cómo la pregunta no está clara de todos modos – ediblecode