2017-02-21 12 views
0

Я сделав если чек в контроллереИзменить HTML elemts стиль из контроллеров ActionResult в ASP.NET MVC 5

if(validDate<DateTime.Now) 
{ 
    //TODO 
} 

и что я хочу сделать, это скрыть определенную кнопку на мой взгляд, если это утверждение это правда, иначе покажите это. Я также использую jquery в передней части. Может ли кто-нибудь помочь мне манипулировать элементом html, кнопкой, с контроллера, например добавить класс стиля или что-то еще? В этом случае мне нужно внести изменения с контроллера, а не из jquery, но при необходимости я могу использовать jquery.

+3

Это просто и один из ядра концепции ASP.NET MVC. Я настоятельно рекомендую вам прочитать дополнительную документацию, например: https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions/mvc-music-store/mvc-music-store-part -3 (как только у вас есть ViewModel, легко установить свойство 'bool', например' IsDateValid', на 'true' или' false' и сделать проверку в представлении, отображать ли кнопку или нет – thmshd

+0

, можете ли вы предоставить мне пример ответа для моего случая? Я знаю, что это очень просто, но ... – Arianit

ответ

2

Вам необходимо использовать модели (также как ViewModel), @thomashaid уже дал вам комментарий с полезной статьей: Views And ViewModels.

Создайте класс в папке «Модели» вашего проекта MVC. Как это:

public class MyViewModel 
{ 
    public bool ShowButton { get; set; } 
} 

Тогда в контроллере, создать объект вашего ViewModel класса и присвоить соответствующее значение в ShowButton собственности. Затем пройти ViewModel к возвращающей зрения:

public ActionResult MyAction() 
{ 
    var myViewmodel = new MyViewModel();´ 

    if(validDate < DateTime.Now) 
    { 
     myViewModel.ShowButton = true; 
    } 

    return View(myViewModel); 
} 

Наконец, используйте синтаксис бритвы с вашей точки зрения, чтобы манипулировать HTML-код, который будет возвращен клиенту:

@model MyViewModel 

@if (Model.ShowButton) 
{ 
    <Button>now you see me</Button> 
}