我有一个默认情况下在EditMode中的Formview,并且没有添加其他模式模板。我需要在Formview中写一个标签。
FileUpload Upload = (FileUpload)Formview_EditProcessData.FindControl("FileUpload2");
Label Log = (Label)Formview_EditProcessData.FindControl("LoadLog2");
if (Upload.HasFile)
try
{
if (Upload.PostedFile.ContentType != "image/svg+xml")
{
Log.Text = "Wrong Filetype!;
Log.ForeColor = System.Drawing.Color.Red;
return;
}
Upload.SaveAs(Server.MapPath(@"~/"+ Upload.FileName));
MessageBox.Text = "File successfully uploaded!";
Log.Text = "File successfully uploaded!";
我的代码中的奇怪之处在于,这在显示错误(“错误的文件类型!”)时有效,但不适用于“文件已成功上传!”。我将此消息发送到Formview外部的Label(MessageBox),并且所有内容都按预期显示。
这对我来说似乎不合逻辑!
-
我通过以与上面相同的方式定义Formview的标签找到了一种解决方法,但这次是在最后。我将错误消息分配给Formview外部的不可见标签,并将日志内容设置为该消息内容。
FileUpload Upload = (FileUpload)Formview_EditProcessData.FindControl("FileUpload2");
if (Upload.HasFile)
try
{
if (Upload.PostedFile.ContentType != "image/svg+xml")
{
MessageBox.Text = "Wrong Filetype";
return;
}
Upload.SaveAs(Server.MapPath(@"~/"+ Upload.FileName));
MessageBox.Text = "File successfully uploaded";
.
.
Label Log = (Label)Formview_EditProcessData.FindControl("LoadLog2");
Log.Text = MessageBox.Text;
if (Convert.ToString(MessageBox).Substring(0,4) == "File")
{
Log.ForeColor = System.Drawing.Color.Black;
}
else
{
Log.ForeColor = System.Drawing.Color.Red;
}
我仍然不明白为什么标签似乎在if(Upload.PostedFile.ContentType ...)条件之后松开了它的定义;但至少现在它按照我想要的方式工作