首页 > 解决方案 > 如何在asp.net c#中更改开关切换时更新数据库

问题描述

我有使用开关切换的页面以及切换切换到打开和关闭数据库中的更新值的页面。

<div class="card rounded" style="margin-bottom: 20px">
            <asp:Image ID="coverpic" runat="server" CssClass="card-img" Height="500" AlternateText="Cover Picture" />
            <div class="card-img-overlay card-inverse social-profile d-flex " style="top: auto">
                <div class="align-self-center rounded" style="margin: auto">
                    <asp:Image ID="profilepic" runat="server" CssClass="img-circle" Height="100" Width="100" AlternateText="Profile Picture" />
                    <h4 class="card-title">
                        <asp:Label ID="fullname" runat="server"></asp:Label></h4>
                    <h6 class="card-subtitle">
                        <asp:Label ID="unametop" Font-Size="Large" runat="server"></asp:Label></h6>
                    <div class="switch">
                        <label>
                            User
                            <input id="userrole" type="checkbox" runat="server"><span class="lever switch-col-red"></span>Admin</label>
                    </div>
                </div>
            </div>
        </div>

如您所见,使用了带有开关类的输入复选框,当我打开开关时,我想将数据库中的用户角色更新为管理员,当开关关闭时,我想将用户角色更新为普通用户。如果可以的话请帮忙。

标签: c#asp.netc#-4.0

解决方案


按照设计,该input控件没有单击事件,因此在我看来,最优雅的方法是使用 jQuery,如果您正在使用它。看到这个答案

或者,您可以执行以下操作:

<script>
  function triggerpostback(obj) {
    //check if textbox is readyonly
    if (obj.readOnly) {
      __doPostBack('Button', "");
    }
  }

</script>
<asp:Button ID="Button" runat="server" Text="Button" OnClick="Button_Click" style="display:none" />
<input id="userrole" type="checkbox" runat="Server" onclick="triggerpostback(this)" />

代码隐藏:

protected void Button_Click(object sender, EventArgs e)
{
    // Add the code to update user role in database
}

推荐阅读