动态更改CSS类

时间:2018-06-27 18:06:57

标签: c# asp.net webforms

我一直在使用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>&nbsp; 
                                <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,因此这些值可用于确定我是发送邮件还是其他人发送的邮件。

1 个答案:

答案 0 :(得分:1)

我会说,用伪代码:

matrix = """
#Names\tcol1\tcol2\tcol3\tcol4\tcol5\tcol6\tcol7
A\t-1.23\t-0.81\t1.79\t0.78\t-0.42\t-0.69\t0.58
B\t-1.76\t-0.94\t1.16\t0.36\t0.41\t-0.35\t1.12
C\t-2.19\t0.13\t0.65\t-0.51\t0.52\t1.04\t0.36
D\t-1.22\t-0.98\t0.79\t-0.76\t-0.29\t1.54\t0.93
E\t-1.47\t-0.83\t0.85\t0.07\t-0.81\t1.53\t0.65
F\t-1.04\t-1.11\t0.87\t-0.14\t-0.80\t1.74\t0.48
G\t-1.57\t-1.17\t1.29\t0.23\t-0.20\t1.17\t0.26
H\t-1.53\t-1.25\t0.59\t-0.30\t0.32\t1.41\t0.77
"""

df = pd.read_table(StringIO(matrix), index_col=0)
df.to_string()
# '        col1  col2  col3  col4  col5  col6  col7\n#Names                                          \nA      -1.23 -0.81  1.79  0.78 -0.42 -0.69  0.58\nB      -1.76 -0.94  1.16  0.36  0.41 -0.35  1.12\nC      -2.19  0.13  0.65 -0.51  0.52  1.04  0.36\nD      -1.22 -0.98  0.79 -0.76 -0.29  1.54  0.93\nE      -1.47 -0.83  0.85  0.07 -0.81  1.53  0.65\nF      -1.04 -1.11  0.87 -0.14 -0.80  1.74  0.48\nG      -1.57 -1.17  1.29  0.23 -0.20  1.17  0.26\nH      -1.53 -1.25  0.59 -0.30  0.32  1.41  0.77'

pd.__version__
'0.22.0'

除了最好使用参数化查询外,此代码行很危险:

   <% if (Sender==me){  %>
      <div class="media-body" style="text-align: right;"> 
        ...
     </div>
    else
      <div class="media-body" style="text-align: left;">
       ... 
      </div>
    <% } %>