数据表行检查字符串包含C#中的另一个字符串

时间:2017-05-02 06:57:46

标签: c# .net

我的程序中有一个数据表,它在8行中单独列出了一些数据。

我的问题是如何检查第5行的数据 字符串中是否存在字符串。

这是我到目前为止编码的内容:

String data_source = null;

data_source = my_datatable.Rows[0][5].ToString();

for (int i = 0; i < my_datatable.Rows.Count; i++)
{
    if (data_source.Contains("<script") == true)
    {
        my_datatable.Rows[i][5] = "Cross Site Scripting";
    }
    else if (data_source.Contains("()") == true)
    {
        my_datatable.Rows[i][5] = "SQL Injection";
    }
    else if (data_source.Contains("\\..\\") == true)
    {
        my_datatable.Rows[i][5] = "Unicode Attack";
    }
    else if (data_source.Contains("http/www") == true)
    {
        my_datatable.Rows[i][5] = "Proxy Attack";
    }
    else if (data_source.Contains("cgi-bin") == true)
    {
        my_datatable.Rows[i][5] = "Cgi-Bin";
    }
    else
    {
        my_datatable.Rows[i][5] = "Normal";
    }    
}

但似乎结果它只能读取&#34;跨站点脚本&#34;

感谢您的回复!

1 个答案:

答案 0 :(得分:0)

由于您总是使用第一行,我猜测您应该在循环中移动变量data_source,如下所示:

String data_source = null;

for (int i = 0; i < my_datatable.Rows.Count; i++)
{
    //put data_source here
    data_source = my_datatable.Rows[i][5].ToString();

    //... rest of your code...
    if (data_source.Contains("<script") == true)
    {
        my_datatable.Rows[i][5] = "Cross Site Scripting";
    }
    // etc...