Как отправить значение со стороны сервера в ASP.NET MVC Core на страницу навигации, чтобы отключить меню элементов? - PullRequest
0 голосов
/ 08 мая 2018

Я хочу иметь доступ к свойству, которое я установил в коде где-то перед отображением страницы. Как мне установить это значение, поскольку для страницы навигации нет КОНТРОЛЛЕРА? Есть ли способ вызвать метод на стороне сервера из синтаксиса RAZOR?

  <div id="responsive-panel">
        @(Html.Kendo().Menu()
          .Name("Menu")
          .Items(items =>
          {
              items.Add()
                  .Text("Home")
                  .Action("Index", "Home");
              items.Add()
                  .Text("My Profile")
                  .Action("Index", "Profile");
              items.Add()
                  .Text("Explore")
                  .Action("Index", "Explore");
              items.Add()
                  .Text("My Comparison")
                  .Action("Index", "Comparison").Enabled(false);
          })
        )
    </div>

1 Ответ

0 голосов
/ 08 мая 2018

Если это «Страница бритвы», то с ней будет связан связанный с ней класс, который служит моделью и своего рода контроллером. Это позволит вам установить свойство модели с помощью кода, а затем вы можете ссылаться на него в Razor с помощью Model.DisableSomething и т. Д. Проще всего это будет выглядеть примерно так:

Index.cshtml.cs

public class IndexModel : PageModel
{
    public IActionResult OnGet()
    {
        DisableSomething = true;
        return Page();
    }

    public bool DisableSomething {get; set; }

}

Index.cshtml

@page
@model IndexModel

The Model's DisableSomething Property = @Html.Raw(Model.DisableSomething.ToString())
...