c# - 动态改变css类
问题描述
我一直在使用 ASP.NET 和 WebForms 为聊天框开发一个小项目,基本上我一直在尝试更改面板的类,因此我可以确定消息应该放在左侧还是右侧盒子取决于谁寄的。
这就是我目前使用所有这些的方式:
<div class="lv-body" id="ms-scrollbar" style="overflow:scroll; overflow-x: hidden; height:520px;">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="1000"></asp:Timer>
<asp:DataList ID="DataList3" runat="server">
<ItemTemplate>
<asp:Panel class="lv-item media" id="MessageBox" runat="server">
<div class="media-body">
<div class="ms-item">
<span class="glyphicon glyphicon-triangle-left" style="color:#000000;"></span>
<asp:Label ID="Message" runat="server" Text='<%# Bind("Message") %>'></asp:Label>
</div>
<small class="ms-date">
<span class="glyphicon glyphicon-time"></span>
<asp:Label Width="900px" ID="Date" runat="server" Text='<%# Bind("Date") %>'></asp:Label>
</small>
</div>
</asp:Panel>
</ItemTemplate>
</asp:DataList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
这就是我通过 CodeBehind 填充值的方式:
public void LoadChatbox()
{
DateTime date = DateTime.Now;
string date3 = date.ToString("dd-MM-yyyy");
MySQL.MySqlCommand Cmd = new MySQL.MySqlCommand(MySQL.MySqlCommandType.SELECT);
Cmd.Select("helpdesk").Where("Sender", Label1.Text).And("Receiver", Label2.Text).Or("Sender", Label2.Text).And("Receiver", Label1.Text).Order("UniqueID");
MySQL.MySqlReader R = new MySQL.MySqlReader(Cmd);
DataList3.DataSource = R._dataset;
DataList3.DataBind();
}
一切正常,但基本上我需要一种方法来确定 MessageBox(面板)是显示在左侧还是右侧。在其类中添加“正确”可以做到这一点,但我需要一种方法来做到这一点。
编辑:Label1 代表我的姓名/ID,Label2 代表聊天中其他成员的姓名/ID,因此这些值可用于确定是我发送的还是其他人发送的。
解决方案
我会说,用伪代码:
<% if (Sender==me){ %>
<div class="media-body" style="text-align: right;">
...
</div>
else
<div class="media-body" style="text-align: left;">
...
</div>
<% } %>
除了你最好使用参数化查询之外,这行代码很危险:
Cmd.Select("helpdesk").Where("Sender", Label1.Text).And("Receiver", Label2.Text).Or("Sender", Label2.Text).And("Receiver", Label1.Text).Order("UniqueID");
推荐阅读
- encryption - 如何在lua中将字节转换为字符串
- php - Elementor 两次显示相同的简码(仅在编辑器上)
- python - 100k 条记录的 PyMongo Bulk Upsert 性能
- html - 为网页正文过度滚动的顶部和底部赋予不同的颜色
- ios - 如何摆脱这些错误?
- redis - 来自一台服务器但不是来自另一台服务器的 Redis 密码错误
- c++ - 不确定是什么导致代码中出现错误 c2600
- bash - 如何让 for 循环输出一次而不是每次迭代?
- android - 设置 Detekt 自定义规则时出错
- javascript - 如何在路由中拆分任意 JavaScript 对象,如树