Итак, что я делаю, так это то, что я извлекаю информацию с сайта SharePoint. Однако, когда я пытаюсь получить элемент с сайта. Я получаю эту ошибку:Вложенные операторы if-else с несколькими параметрами
Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'string'
Это действительно получает информацию правильно, однако то, что я хочу, чтобы достичь является цветной формат, в котором когда Status ="Completed"
, цвет будет синим, а если Status="Not Completed"
то это будет быть красным.
foreach (ListItem item in listItems)
{
if (item["ows_BM_x0020_Status"] != null)
{
str.AppendLine("<tr><td bgcolor='#E7E7E7'> " + item["ows_BM_x0020_Status"].ToString() + "</td>");
}
else if (item["ows_BM_x0020_Status"] == "Completed")
{
str.AppendLine("<td bgcolor='#0000FF'> </td>");
}
else if (item["ows_BM_x0020_Status"] == "Not Completed")
{
str.AppendLine("<td bgcolor='#FF0000'> </td>");
}
}
Вы получаете ошибку, потому что 'пункт [ключ]' 'является объектом 'во время компиляции, но вы сравниваете его со строкой. Простое исправление должно сделать это 'if (item [" ows_BM_x0020_Status "]. ToString() ==" Completed ")'. Но вы говорите, что он все равно получает информацию, так что в чем проблема? – keyboardP
@keyboardP - опубликуйте это как ответ –
@ ZacharyKniebel - Кажется, проблема связана с OP. Добавлено :) – keyboardP