Asp.net mvc 启用/禁用复选框&;基于ASP.NET MVC视图页上数据库值的按钮?

Asp.net mvc 启用/禁用复选框&;基于ASP.NET MVC视图页上数据库值的按钮?,asp.net-mvc,Asp.net Mvc,我有一个ASP.NET MVC视图页面,该页面有复选框(活动)和按钮(激活) 以下是我想做的一些事情: 如果数据库中的值为True,则应选中并启用复选框,并且还应启用so按钮 否则,如果数据库中的值为False,则不应检查并禁用复选框。所以按钮应该被禁用 以下是查看代码: <% using (Html.BeginForm("ActivateUser", "Home", FormMethod.Post, new { id = "frmActivate" })) {%>

我有一个ASP.NET MVC视图页面,该页面有复选框(活动)和按钮(激活)

以下是我想做的一些事情:

  • 如果数据库中的值为True,则应选中并启用复选框,并且还应启用so按钮

  • 否则,如果数据库中的值为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>
    <% } %>
    
    
    活跃的
    
    感谢您的回复


    谢谢

    您可以尝试使用以下方法扩展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页面上调用此扩展方法

    您可以尝试使用以下方法扩展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,有人可以轻松删除“disabled”属性并提交.Yup。你说得对,亨特。这只是内部应用程序。我现在将尝试并很快向您更新。这对我不起作用。我需要JQuery函数的逻辑。哦,我在你的问题中没有看到任何JQuery标记。你想用jquery做什么?如果您想查看是否选中了某些内容,可以执行$(“#input[type=checkbox]”);根据经验,禁用任何控件都不是验证或保护页面的好方法。大多数浏览器允许您编辑html,有人可以轻松删除“disabled”属性并提交.Yup。你说得对,亨特。这只是内部应用程序。我现在将尝试并很快向您更新。这对我不起作用。我需要JQuery函数的逻辑。哦,我在你的问题中没有看到任何JQuery标记。你想用jquery做什么?如果您想查看是否选中了某些内容,可以执行$(“#input[type=checkbox]”);