【问题标题】:How to maintain visibility state of controls?如何保持控件的可见性状态?
【发布时间】:2015-02-16 11:46:57
【问题描述】:

ASP.NET MVC 是无状态的,

如何保持控件的可见性状态?

例如我有一个按钮控件 我使用 jquery 隐藏按钮控件 现在,当我回发时,按钮再次出现

我想知道是否有任何解决方法。

【问题讨论】:

  • 这个问题离题太远了……
  • 我明白,但我必须以某种方式管理这个,我发现的一种方法是 Using hiddent fields 就像网络表单一样

标签: c# jquery asp.net asp.net-mvc razor


【解决方案1】:

假设您使用的是强类型视图模型,这是您可以采用的一种方法。

创建一个带有 bool 属性的视图模型,以表示显示了一个属性,即

查看模型

public class AModel
{
    public bool IsShown { get; set; }
}

在您的视图中将其渲染为隐藏的 for,这将允许将状态传递到服务器或从服务器传递。

查看

@Html.HiddenFor(m => m.IsShown)

确保在您的 javascript 中设置隐藏字段的值:

$('#IsShown').val(true);

或:

$('#IsShown').val(false);

这将允许回发显示控件的状态。

然后通过传入IsShown 属性确保您的javascript 隐藏或显示控件。请注意以下需要使用您的实际按钮 ID。

Javascript

$(function(){
 $('#AButtonId').toggle(@Model.IsShown.ToString().ToLower());
});

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 2019-10-14
    • 2015-09-14
    • 2012-11-03
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    相关资源
    最近更新 更多