我正在 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/