启用/禁用复选框&基于ASP.NET MVC View页面上的数据库值的按钮?

时间:2010-02-02 18:39:57

标签: asp.net-mvc

我有ASP.NET MVC视图页面,其中包含Checkbox(活动)和一个按钮(Activate)。

以下是我想要做的事情:

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

  2. 否则如果数据库中的值为False,则不应选中Chekbox和Checked。所以按钮应该被禁用。

  3. 以下是查看代码:

    <% 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>
    <% } %>
    

    感谢您的回复。

    由于

1 个答案:

答案 0 :(得分: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页面上调用这个扩展方法