【问题标题】:enable/disable checkbox & button based on value from database on ASP.NET MVC View page?根据 ASP.NET MVC 视图页面上数据库中的值启用/禁用复选框和按钮?
【发布时间】:2010-02-02 18:39:56
【问题描述】:

我有 ASP.NET MVC 视图页面,其中包含复选框(活动)和按钮(激活)。

以下是我想做的事情:

  1. 如果数据库中的值为 True,则复选框应选中并启用,因此按钮也应启用。

  2. Else 如果数据库中的值为 False,则不应检查和禁用复选框。所以按钮应该被禁用。

这是查看代码:

<% using (Html.BeginForm("ActivateUser", "Home", FormMethod.Post, new { id = "frmActivate" })) 
   {%>
            <%= Html.Hidden("pwdEmail")%>
            <input type="hidden" id="isLocked" value="<%= ViewData["isLocked"]%>" />
            <table><tbody>
                <tr><td class="Form_Label"><label for="chkActive">Active</label></td>
                <td><%= Html.CheckBox("chkActive", false)%></td> <td><input type="submit" value="Activate" disabled="disabled" /></td></tr>
            </tbody></table>
<% } %>

感谢您的回复。

谢谢

【问题讨论】:

  • 您想要控制器和存储库代码?

标签: asp.net-mvc


【解决方案1】:

您可以尝试使用以下方法扩展 HtmlHelper:

    public static string CheckBox(this HtmlHelper htmlHelper, string name, bool checked, bool enabled)
    {
        TagBuilder builder = new TagBuilder("input");

        builder.Attributes.Add("type", "checkbox");
        builder.Attributes.Add("name", name);
        builder.Attributes.Add("id", name);

        if (checked)
            builder.Attributes.Add("checked", "checked");

        if (disabled)
            builder.Attributes.Add("disabled", "disabled");

        return builder.ToString();
    }

然后你就可以在你的 MVC 页面上调用这个扩展方法了

【讨论】:

  • 我应该提到,根据经验,禁用任何控件并不是验证或保护页面的好方法。大多数浏览器允许您编辑 html,并且有人可以轻松删除“禁用”属性并提交。
  • 是的。你是对的猎人。这只是内部应用程序。我现在将尝试并尽快更新您。
  • 这对我不起作用。我需要来自 JQuery 函数的这个逻辑。
  • 哦,我在您的问题中没有看到任何 jquery 标签。你想用jquery做什么?如果您想查看是否检查了某些内容,可以执行 $("#input[type=checkbox]").is(":checked");
猜你喜欢
  • 1970-01-01
  • 2018-01-27
  • 2019-09-11
  • 2021-12-13
  • 2019-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-10
相关资源
最近更新 更多