在编辑模式下在Formview标签中显示文本

时间:2016-02-03 15:57:13

标签: c# formview

我有一个默认情况下在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 ...)条件之后松开了它的定义;但至少现在它按照我想要的方式工作

0 个答案:

没有答案