Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何根据html表的值向其添加颜色?_C#_Sql_.net_Database - Fatal编程技术网

C# 如何根据html表的值向其添加颜色?

C# 如何根据html表的值向其添加颜色?,c#,sql,.net,database,C#,Sql,.net,Database,有人能帮我吗?我现在不知道该怎么办。我是新来的。 如果服务器状态为Online(绿色)和Offline(红色),我希望根据该值更改表中的颜色 任何帮助都将不胜感激 谢谢 if (!Page.IsPostBack) { string maincon = ConfigurationManager.ConnectionStrings["MeineVerbindung"].ConnectionString; /

有人能帮我吗?我现在不知道该怎么办。我是新来的。 如果服务器状态为Online(绿色)和Offline(红色),我希望根据该值更改表中的颜色

任何帮助都将不胜感激

谢谢

        if (!Page.IsPostBack)
        {
        string maincon =                ConfigurationManager.ConnectionStrings["MeineVerbindung"].ConnectionString;
        //Connection with Server 
        SqlConnection AzureDB = new SqlConnection(maincon);
        string sqlquery = "SELECT UPPER(Computername) as Customername, (Customername) as         Computername, case when [online] = 1 then 'ONLINE' else 'OFFLINE' end Online FROM[XXX].[XXXXX] where         enddate = '' order by Customername,Computername";
        SqlCommand sqlcomm = new SqlCommand(sqlquery, AzureDB);
        //Open the Connction
        AzureDB.Open();
        SqlDataAdapter sda = new SqlDataAdapter(sqlcomm);
        DataTable dt = new DataTable();
        sda.Fill(dt);
        StringBuilder sb = new StringBuilder();
        sb.Append("<center>");
        sb.Append("<br>");
        sb.Append("</hr>");
        //Table
        sb.Append("<table class='tabelle'>");
        sb.Append("<tr>");
        //Shows all in a Table
        foreach (DataColumn dc in dt.Columns)
        {
        sb.Append("<th style='font-size: 18px; background: #1abc9c; color: white;'>");
        sb.Append(dc.ColumnName.ToUpper());
        sb.Append("</th>");
        }
        sb.Append("</tr>");
        foreach (DataRow dr in dt.Rows)
        {

        sb.Append("<tr class='fathi' style='font-size: 14px;'>");
        foreach (DataColumn dc in dt.Columns)
        {
        sb.Append("<th>");
        sb.Append(dr[dc.ColumnName].ToString());
        sb.Append("</th>");
        }
        sb.Append("</tr>");
        }
        sb.Append("</table>");
        sb.Append("</center>");
        Panel1.Controls.Add(new Label { Text = sb.ToString() });
        AzureDB.Close();
        }
        ```


if(!Page.IsPostBack)
{
string maincon=ConfigurationManager.ConnectionString[“MeineverBinding”]。ConnectionString;
//与服务器的连接
SqlConnection AzureDB=新的SqlConnection(maincon);
string sqlquery=“选择UPPER(Computername)作为Customername,(Customername)作为Computername,如果[online]=1,则为'online'或'OFFLINE'从[XXX].[XXXXX]开始联机,其中enddate=''按Customername排序,Computername';
SqlCommand sqlcomm=新的SqlCommand(sqlquery,AzureDB);
//打开连接
AzureDB.Open();
SqlDataAdapter sda=新的SqlDataAdapter(sqlcomm);
DataTable dt=新的DataTable();
sda.填充(dt);
StringBuilder sb=新的StringBuilder();
某人加上(“”);
某人追加(“
”); 某人追加(“”); //桌子 某人加上(“”); 某人加上(“”); //在表格中显示所有内容 foreach(数据列dc在dt.列中) { 某人加上(“”); sb.Append(dc.ColumnName.ToUpper()); 某人加上(“”); } 某人加上(“”); foreach(数据行dr在dt.行中) { 某人加上(“”); foreach(数据列dc在dt.列中) { 某人加上(“”); sb.Append(dr[dc.ColumnName].ToString()); 某人加上(“”); } 某人加上(“”); } 某人加上(“”); 某人加上(“”); Panel1.Controls.Add(新标签{Text=sb.ToString()}); AzureDB.Close(); } ```
我建议使用asp:GridView

index.aspx


index.aspx.cs

 ////In your case, get it from SQL and remove all StringBuilder and html table code

            `DataTable dt = GetData();
             GvServer.DataSource = dt;
             GvServer.DataBind();

    DataTable GetData()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Server");
        dt.Columns.Add("Status");

        DataRow row = dt.NewRow();
        row["Server"] = "Server 1";
        row["Status"] = "Offline";
        dt.Rows.Add(row);

        DataRow row2 = dt.NewRow();
        row2["Server"] = "Server 2";
        row2["Status"] = "Online";
        dt.Rows.Add(row2);

        DataRow row3 = dt.NewRow();
        row3["Server"] = "Server 3";
        row3["Status"] = "Online";
        dt.Rows.Add(row3);

        DataRow row4 = dt.NewRow();
        row4["Server"] = "Server 4";
        row4["Status"] = "Offline";
        dt.Rows.Add(row4);

        return dt;
    }

    protected void GvServer_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (Convert.ToString(e.Row.Cells[1].Text) == "Online")
        {
            e.Row.BackColor = System.Drawing.Color.Green;
        }
        else if (Convert.ToString(e.Row.Cells[1].Text) == "Offline")
        {
            e.Row.BackColor = System.Drawing.Color.Red;
        }
}`


如果仍然需要HTML表,请使用此 index2.aspx

index2.asp.cs

`void UseHtmlTable() { DataTable dt=GetData()

StringBuilder sb=新建StringBuilder();
//桌子开始。
某人加上(“”);
//添加HeaderRow。
某人加上(“”);
foreach(dt.Columns中的DataColumn列)
{
sb.追加(“+column.ColumnName+”);
}
某人加上(“”);
//添加数据行。
foreach(数据行中的数据行)
{
如果(行[“状态”].ToString()=“联机”)
{
某人加上(“”);
}
else if(行[“状态”].ToString()=“脱机”)
{
某人加上(“”);
}
foreach(dt.Columns中的DataColumn列)
{
sb.Append(“+行[column.ColumnName].ToString()+”);
}
某人加上(“”);
}
//桌尾。
某人加上(“”);
mytable.Text=sb.ToString();
}`

我建议使用asp:GridView

index.aspx


index.aspx.cs

 ////In your case, get it from SQL and remove all StringBuilder and html table code

            `DataTable dt = GetData();
             GvServer.DataSource = dt;
             GvServer.DataBind();

    DataTable GetData()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Server");
        dt.Columns.Add("Status");

        DataRow row = dt.NewRow();
        row["Server"] = "Server 1";
        row["Status"] = "Offline";
        dt.Rows.Add(row);

        DataRow row2 = dt.NewRow();
        row2["Server"] = "Server 2";
        row2["Status"] = "Online";
        dt.Rows.Add(row2);

        DataRow row3 = dt.NewRow();
        row3["Server"] = "Server 3";
        row3["Status"] = "Online";
        dt.Rows.Add(row3);

        DataRow row4 = dt.NewRow();
        row4["Server"] = "Server 4";
        row4["Status"] = "Offline";
        dt.Rows.Add(row4);

        return dt;
    }

    protected void GvServer_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (Convert.ToString(e.Row.Cells[1].Text) == "Online")
        {
            e.Row.BackColor = System.Drawing.Color.Green;
        }
        else if (Convert.ToString(e.Row.Cells[1].Text) == "Offline")
        {
            e.Row.BackColor = System.Drawing.Color.Red;
        }
}`


如果仍然需要HTML表,请使用此 index2.aspx

index2.asp.cs

`void UseHtmlTable() { DataTable dt=GetData()

StringBuilder sb=新建StringBuilder();
//桌子开始。
某人加上(“”);
//添加HeaderRow。
某人加上(“”);
foreach(dt.Columns中的DataColumn列)
{
sb.追加(“+column.ColumnName+”);
}
某人加上(“”);
//添加数据行。
foreach(数据行中的数据行)
{
如果(行[“状态”].ToString()=“联机”)
{
某人加上(“”);
}
else if(行[“状态”].ToString()=“脱机”)
{
某人加上(“”);
}
foreach(dt.Columns中的DataColumn列)
{
sb.Append(“+行[column.ColumnName].ToString()+”);
}
某人加上(“”);
}
//桌尾。
某人加上(“”);
mytable.Text=sb.ToString();
}`

我已经测试过了,然后粘贴到这里。你在做任何更新吗。在线/离线单词必须相同。或者把你的代码给我,我已经测试过了,然后贴在这里。你在做任何更新吗。在线/离线单词必须相同。或者给我你的密码