一直在用头撞墙,Google 试图找到我的问题的答案。
当下面的 IF 语句执行时,似乎完全通过 IF 和 ELSE 语句运行。
if (IsPostBack)
{
Boolean bFileOK = false;
if (fulReagentImg.HasFile)
{
String sFileExtension = System.IO.Path.GetExtension(fulReagentImg.FileName).ToLower();
String sFileExtensionLabel = sFileExtension;
lblFileExtension.Text = sFileExtensionLabel;
String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg" };
for (int i = 0; i < allowedExtensions.Length; i++)
{
if (sFileExtension == allowedExtensions[i])
{
bFileOK = true;
}
else
{
lblException.Text = "Can only upload .gif, .png, .jpeg, .jpg";
lblException.CssClass = "red";
}
}
知道为什么它不以 bFileOK = true 停止吗?
最佳答案
你的循环是完全错误的。
如果用户的扩展名不等于列表中的所有 扩展名,它将显示错误。
您应该调用 Contains()
方法,最好是 HashSet<String>
.
关于C# IF 语句未正确中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12431328/