Это действительно необычный вопрос, который я имею, что я, если еще, если условие не работает: 1) Я читаю значение из web.configесли иное условие не соблюдается, но все еще работает код внутри
string validuserlist = ConfigurationManager.AppSettings["Quality"].ToString();
string safetylist = ConfigurationManager.AppSettings["Safety"].ToString();
string supervisorlist = ConfigurationManager.AppSettings["Supervisors"].ToString();
2) Я проверяю, находится ли текущий пользователь в указанном выше списке, и если тип рабочего заказа = тип из gridview:
Условие не выполняется в третьем условии, когда он проверяет список супервизоров Я удалил своего пользователя id из web.config, и я запускаю приложение, которое все еще выполняет третье условие. предположим, что у вас нет разрешений.
, как вы можете видеть выше условие не выполняется, но он все еще работает этот код:
пожалуйста, помогите, если вам нужен любой код или логическое понимание пожалуйста, спросите перед тем, как пометить этот вопрос.
вот как мое состояние выложено:
if (validuserlist.ToLower().Trim().IndexOf(username.ToLower().Trim()) != -1 && TextBox102.Text == "Quality")
{
CheckQuality();
if (flag == true)
{
ModalPopupExtender1.Show();
TextBox TextBox1 = (TextBox)DetailsView1.FindControl("TextBox30");
TextBox TextBox2 = (TextBox)DetailsView1.FindControl("TextBox91");
TextBox1.Enabled = true;
TextBox2.Enabled = true;
DetailsView1.Visible = true;
ModalPopupExtender2.Show();
DetailsView2.Visible = true;
}
else
{
string message = "your user id does not have permissions to signoff WorkOrders of type" + " " + TextBox102.Text + ", please contact IT Support for Permission";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script type = 'text/javascript'>");
sb.Append("window.onload=function(){");
sb.Append("alert('");
sb.Append(message);
sb.Append("')};");
sb.Append("</script>");
ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb.ToString());
}
}
else if (safetylist.ToLower().Trim().IndexOf(username.ToLower().Trim()) != -1 && TextBox102.Text == "Safety")
{
CheckSafety();
if (flag == true)
{
ModalPopupExtender1.Show();
TextBox TextBox1 = (TextBox)DetailsView1.FindControl("TextBox30");
TextBox TextBox2 = (TextBox)DetailsView1.FindControl("TextBox91");
TextBox1.Enabled = true;
TextBox2.Enabled = true;
DetailsView1.Visible = true;
ModalPopupExtender2.Show();
DetailsView2.Visible = true;
}
else
{
string message = "your user id does not have permissions to signoff WorkOrders of type" + " " + TextBox102.Text + ", please contact IT Support for Permission";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script type = 'text/javascript'>");
sb.Append("window.onload=function(){");
sb.Append("alert('");
sb.Append(message);
sb.Append("')};");
sb.Append("</script>");
ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb.ToString());
}
}
else if (supervisorlist.ToLower().Trim().IndexOf(username.ToLower().Trim()) != -1 && TextBox102.Text == "Safety" || TextBox102.Text == "Quality" || TextBox102.Text == "General")
{
if (flag == false)
{
ModalPopupExtender1.Show();
TextBox TextBox1 = (TextBox)DetailsView1.FindControl("TextBox30");
TextBox TextBox2 = (TextBox)DetailsView1.FindControl("TextBox91");
TextBox1.Enabled = true;
TextBox2.Enabled = true;
DetailsView1.Visible = true;
ModalPopupExtender2.Show();
DetailsView2.Visible = true;
}
else
{
string message = "your user id does not have permissions to signoff WorkOrders of type" + " " + TextBox102.Text + ", please contact IT Support for Permission";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script type = 'text/javascript'>");
sb.Append("window.onload=function(){");
sb.Append("alert('");
sb.Append(message);
sb.Append("')};");
sb.Append("</script>");
ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb.ToString());
}
}
Вы делаете 'if' then' else', а затем 'else if', а затем делаете более странные вещи.Проверьте, как использовать 'if' – Aidin
Как отметил @Aidin, структура вашего оператора if/else отключена. ELSE IF или ELSE могут следовать за IF, но если у вас есть ELSE, это должен быть конец инструкции If/Then/Else. Итак, начните с вашего IF, следуйте с ELSE IF, и закончите с ELSE - обратите внимание: вы можете иметь только один ELSE. –
@Aidin в чем-то часть моего кода. Я использую другое условие if и else, каждый из которых имеет условие if и else внутри него, плохо размещает образец кода. – CodeMan