Tengo una vista parcial e int, no hay rastro de herencia de ningún diseño. Pero cada vez que quiero usarlo (renderizarlo) dentro de una vista, el diseño se repite una vez para la vista y una vez para la vista parcial. This post sugiere crear un diseño vacío. Pero creo que esta es la solución. ¿Hay alguna forma de dejar de cargar el diseño (diseño principal) para vistas parciales? No entiendo por qué cuando no hay un código para usar el diseño maestro, ¿por qué debería cargarse? Es como crear una página en ASP.NET y ver que hereda de una página maestra sin tener la directiva <%@ Master ...
.La vista parcial hereda del diseño principal
Ésta es mi visión parcial:
@* Recursive category rendering *@
@using Backend.Models;
@{
List<Category> categories = new ThoughtResultsEntities().Categories.ToList();
int level = 1;
}
@RenderCategoriesDropDown(categories, level)
@helper RenderCategoriesDropDown(List<Category> categories, int level)
{
List<Category> rootCategories = categories.Where(c => c.ParentId == null).ToList();
<select id='categoriesList' name='categoriesList'>
@foreach (Category rootCategory in rootCategories)
{
<option value='@rootCategory.Id' class='level-1'>@rootCategory.Title</option>
@RenderChildCategories(categories, level, rootCategory.Id);
}
</select>
}
@helper RenderChildCategories(List<Category> categories, int level, int parentCategoryId)
{
string padding = string.Empty;
level++;
List<Category> childCategories = categories.Where(c => c.ParentId == parentCategoryId).ToList();
foreach (Category childCategory in childCategories)
{
<option value='@childCategory.Id' class='[email protected]'>@padding.PadRight(level, '-') @childCategory.Title</option>
@RenderChildCategories(categories, level, childCategory.Id);
}
level--;
}
u puede mostrar la primera línea de la página parcial y su método de acción del controlador? –