我的页面上有一节我正在使用asp:repeater来填充ul。
这样做的主要目的是显示建筑物内的人员列表。 目前由于jquery,li可以切换,这允许该人的名字具有不同的背景颜色并且变粗,这很好,但显然这个信息在页面重新加载时丢失所以我想基于此控制这个类SQL数据库列。
目前这是转发器的代码:
<asp:Repeater ID="InBuildingPenpontRepeater" runat="server" DataSourceID="PenpontInBuildingDataSource">
<HeaderTemplate><ul class="RMenuList InBuilding noSelect NonMobile"><li class="InBuildingTitle">Penpont</li></HeaderTemplate>
<ItemTemplate>
<li class="<%#Eval("InBuilding")%> InBuildingtickable" id="InBuildingPenpontli" onclick=""><%#Eval("NameDisplay")%></li>
</ItemTemplate>
<FooterTemplate></ul></FooterTemplate>
</asp:Repeater>
正如您所看到的,我已经设置了li的类,因此它是数据库中的true或false boolean。 然后,我使用它来创建一个基于此结果应用于它的CSS类。
.InBuilding .True {
background-color: #CFCFCF;
font-weight:bold;}
.InBuilding .Tick {
background-color: #CFCFCF;
}
这很好用,我已添加到jquery切换中,以便在单击名称时切换“true”。
$(document).ready(function () { //Tick Toggle Script
$('.tickable').click(function () {
$(this).toggleClass("Tick");
});
});
$(document).ready(function () { //InBuilding True Toggle Script
$('.InBuildingtickable').click(function () {
$(this).toggleClass("True");
});
});
除了我无法弄清楚如何使用切换来更新SQL数据库之外,一切都按照我的要求运行。
有人有什么建议吗?
我觉得我错过了一些相当简单的事情。
谢谢
更新: 嗨,大家好。我仍然遇到这个问题。我的代码现在看起来像这样: aspx页面:
<asp:Repeater ID="InBuildingPenpontRepeater" runat="server" DataSourceID="PenpontInBuildingDataSource">
<HeaderTemplate><ul class="RMenuList InBuilding noSelect NonMobile"><li class="InBuildingTitle">Penpont</li></HeaderTemplate>
<ItemTemplate>
<li class="<%#Eval("InBuilding")%> InBuildingtickable" id="InBuildingPenpontli" onclick="InBuildingToggle"><%#Eval("NameDisplay")%></li>
</ItemTemplate>
<FooterTemplate></ul></FooterTemplate>
</asp:Repeater>
<asp:SqlDataSource runat="server" ID="PenpontInBuildingDataSource" ConnectionString='<%$ ConnectionStrings:BMDbaseConnectionString %>' SelectCommand="SELECT * FROM CHRISHTESTInBuilding WHERE Active=1 AND
(Staff_ID=1 OR Staff_ID=2 OR Staff_ID=3 OR Staff_ID=4 OR Staff_ID=5 OR Staff_ID=6 OR Staff_ID=7 OR Staff_ID=8 OR Staff_ID=9 OR Staff_ID=10 OR Staff_ID=11 OR Staff_ID=12 OR Staff_ID=13 OR Staff_ID=14)
ORDER BY NameDisplay" UpdateCommand="UPDATE CHRISHTESTInBuilding SET [InBuilding] = @InBuilding WHERE [Staff_ID] = @Staff_ID"></asp:SqlDataSource>
代码隐藏:
Protected Sub InBuildingToggle()
Dim mySqlUpdate As String = "Update CHRISHTESTInBuilding SET [InBuilding] = 1 WHERE Staff_ID = @Staff_ID"
Me.PenpontInBuildingDataSource.UpdateCommand = mySqlUpdate
Me.PenpontInBuildingDataSource.Update()
End Sub
我非常感谢我现在可以获得的任何帮助,因为我一直在寻找答案的年龄。
谢谢