【问题标题】:Bootstrap check boxes lose checked state after postback. How can I stop this?Bootstrap 复选框在回发后失去选中状态。我怎样才能阻止这个?
【发布时间】:2019-06-27 17:08:54
【问题描述】:

我正在使用 VS 2017 中的 asp.net/vb.net Web 表单应用程序,并且正在使用引导控件。我有几个引导复选框,需要在单击按钮时检索它们的值,但还希望它们在单击按钮后保持选中状态。当前,当单击按钮时,所有复选框都恢复为未选中状态。

除了下面显示的代码之外,我还尝试将 runat="server" 添加到每个复选框。当我这样做时,它们不仅不会保留其状态,而且我也无法检索检查的值。复选框位于 asp 更新面板中,我也尝试将 runat="server" 添加到该更新面板。那也没用。

这是我的表单代码:

<div class="checkbox">
    <label>
   <input type="checkbox" name="cbLst" value="Car">Car</label>
</div>
<div class="checkbox">
    <label>
   <input type="checkbox" name="cbLst" value="Truck">Truck</label>
</div>
<div class="checkbox">
    <label>
   <input type="checkbox" name="cbLst" value="Motorcycle">Motorcycle</label>
</div>

这是我在表单后面的代码:

Private Sub btnTest_ServerClick(sender As Object, e As EventArgs) Handles btnTest.ServerClick

Dim selected As String = Request.Form("CbLst")

TxtDiv.InnerHtml = selected

End Sub

我希望能够从复选框中检索选中的值,并希望它们保留它们的值。

【问题讨论】:

  • 这就是网络的运作方式,每次回帖就像一个新页面,一切都被重置。如果你想让事情变得更简单,你可以使用 <asp:Checkbox /> 之类的 asp.net 控件
  • 不幸的是,我的页面无法正确呈现 asp 控件。 bootstrap 单选按钮控件没有这个问题。它保留了它的状态,所以必须有办法让它工作。
  • 没有真正的“自举控制”。这是一个具有适当类的普通复选框。如果你设置了正确的类,你可以对 asp 控件做同样的事情。

标签: asp.net vb.net twitter-bootstrap webforms


【解决方案1】:

您仍然可以将 .NET 控件与 bootstrap css 一起使用。

<div class="checkbox">
    <label>
        <asp:CheckBox ID="cbMotorcycle" runat="server" />Motorcycle</label>
</div>

【讨论】:

  • 是的,但是当在手机等小型浏览器上查看时,.net 控件不会像引导控件那样堆叠,在这种特殊情况下,它看起来根本不正确。
  • 等一下,我可能会明白你在说什么。我会试一试。我将不得不使用三个单独的 .net 复选框列表,但它可能会起作用。
  • @JamieDixson 不要使用复选框列表,只需使用常规复选框。可能在中继器内。如果你想使用复选框列表,那么你需要操纵它的输出,这不是一件容易的事。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-15
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
  • 1970-01-01
  • 1970-01-01
  • 2020-11-09
相关资源
最近更新 更多