Я пишу приложение MVC 3, и я попытался закодировать элемент управления в контроллере (из-за разрешений разные элементы меню будут видны для разных пользователей) и используйте объект в Razor стр. Например, в Controller
я сделать что-то вроде:Внесите инструкцию от контроллера
public ActionResult Index()
{
var menu = "@(Html.Telerik().Menu().Name("menu").Items("menus => { menus.Add().Text("Home").Action("Index", "Home"); menus.Add().Text("Deliveries").Action("Index", "Delivery"); }))";
var model = new MenuModel()
{
Menu = menu
};
return View(model);
}
И в View
я пытаюсь сделать меню с помощью @Model.Menu
, но я просто получить значение string
, а не фактическое меню. Это то, что я пытаюсь сделать возможным?
Почему вы пытаетесь использовать бритву в контроллере? Этот код относится к представлению.Не смешивайте логику контроллера с логикой представления. –
Я не могу поместить логику Razor в Razor View, потому что я не знаю, что будет в этот момент. –
Почему бы вам не знать, что будет в этот момент? Помощники Telerik очень настраиваются, позволяя создавать разную разметку на основе разных условий и значений в вашей модели. Что именно вы пытаетесь достичь? –