javascript - 更改 ASP.NET MVC 5 中 Controller ActionResult 的 html 元素样式

标签 javascript jquery html asp.net-mvc asp.net-mvc-5

我正在 Controller 中进行 if 检查

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

我想要做的是,如果此语句为真,则隐藏 View 中的特定按钮,否则显示它。我也在前端使用jquery。 有人可以帮助我从 Controller 操作 html 元素、按钮,例如添加样式类或其他东西吗? 在这种情况下,我需要从 Controller 而不是 jquery 进行更改,但如果需要,我可以在之后使用 jquery。

最佳答案

您需要使用模型(又名 ViewModel),@thomashaid 已经给您发表了一篇有用文章的评论:Views And ViewModels .

在 MVC 项目的“Models”文件夹中创建一个类。像这样:

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

然后在 Controller 中创建 ViewModel 类的对象,并将相应的值分配给 ShowButton 属性。然后将 ViewModel 传递给返回的 View :

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

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

    return View(myViewModel);
}

最后,在 View 中使用 razor 语法来操作将返回给客户端的 HTML 代码:

@model MyViewModel

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

关于javascript - 更改 ASP.NET MVC 5 中 Controller ActionResult 的 html 元素样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42369293/

相关文章:

javascript - 当有多个同时运行时如何中止 XHR 连接?

c# - 无法将 Kendo 网格中的大数据导出到 Excel

javascript - 当我的函数完成时,使用 JavaScript(或 jQuery)触发自定义事件

php - esc_html 的使用有多重要以及何时应该使用它?

javascript - Angular 圆菜单 CSS 和 jQuery

javascript - IIFE方法泄漏?

javascript - 加载时如何将值传递给 (function ( ) { })();

jquery - 如何在 jquery animate 中使用 css3 转换?

jquery - Kendo UI 与 JQuery 更改模板 : &lt;input&gt; to readonly or disable

javascript - 点击菜单打开,再次点击关闭