javascript - 如何清除每次使用文件 uploader 上传文件时的标签消息

标签 javascript c# asp.net

下面是我的代码后面的代码,它根据文本框中给出的月份和年份验证用户上传的文档是否正确(如果给定的月份和年份与工作表中的相同,则记录)被上传到数据库中,否则它返回它不是有效文档。如果当我通过文件 uploader 上传工作表时它再次不是有效文档,那么我需要再次隐藏标签消息,如果再次不是有效文档我应该显示不是有效的文档,在上传时我需要清除标签消息,如果再次成功上传,如果用户选择的文档不是有效的月份,那么我应该显示不是有效的文档。最后的要求是清除标签每次用户使用文件 uploader 选择文件时都会显示消息。我该如何执行此操作

string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
 FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Files/" + fileName));
 string fullpath = Path.GetFullPath(Server.MapPath("~/Files/" + fileName));
 ReadExcelSheet obj = new ReadExcelSheet();
 //send filepath,sheet number,selected rows to class file
 DataTable dt = obj.Read(fullpath, 1);
 bool Ismatch = false;
 string getmonth = txtfromdate.Text.Trim();
 string getyear = txtToDate.Text.Trim();
 for (int i = 0; i < dt.Rows.Count; i++)
 {
 string date = dt.Rows[i]["Month"].ToString();
 string[] date1 = date.Split('/');
 string month = date1[0];
 string year = date1[2];
 //newly added for the existing code to obtain the month and year
 //from date
 string[] splitmonth = getmonth.Split('/');
 string newmonth = splitmonth[0].ToString();
 txtfromdate.Text = newmonth.ToString();
 //To date
 string[] splityear = getyear.Split('/');
 string newyear = splityear[2].ToString();
 txtToDate.Text = newyear.ToString();
 if (month == txtfromdate.Text && year == txtToDate.Text)
 {
 Ismatch = true;
 //break;
 }
 else
 {
 Ismatch = false;
 break;
 }
 }
 if (Ismatch == true)
 {
 lblerrorMessage.Text = "Valid Document";
 }
 else
 {
 lblerrorMessage.Text = "Not a Valid Document";
 label1.Text = "";
 return;
 }
 //checking the input month and year records exists or not in DB
 SqlCommand cmd = new SqlCommand("select Uploaded from TestMCount ", con);
 SqlDataAdapter da = new SqlDataAdapter(cmd);
 DataTable DBdt = new DataTable();
 da.Fill(DBdt);
 if (DBdt.Rows.Count > 0)
 {
 int month1;
 bool validMonth = int.TryParse(txtfromdate.Text, out month1);
 int year1;
 bool validYear = int.TryParse(txtToDate.Text, out year1);
 var filteredRows = from row in DBdt.AsEnumerable()
 let date = row.Field<System.DateTime>("Uploaded")
 where date.Month == month1 && date.Year == year1
 select row;
 DataRow[] dr = filteredRows.ToArray();
 DataTable selectedrows = filteredRows.CopyToDataTable();
 if (selectedrows.Rows.Count > 0)
 {
 for (int i = 0; i <= selectedrows.Rows.Count - 1; i++)
 {
 string date2 = selectedrows.Rows[i]["Uploaded"].ToString();
 con.Open();
 SqlCommand cmd1 = new SqlCommand("delete from TestMCount where Uploaded='" + date2 + "'", con);
 SqlDataAdapter da1 = new SqlDataAdapter(cmd1);
 cmd1.ExecuteNonQuery();
 con.Close();
 }
 SqlBulkCopy objbulk = new SqlBulkCopy(con);
 objbulk.DestinationTableName = "TestMCount";
 //mapping the columns 
 objbulk.ColumnMappings.Add("ID", "MID");
 objbulk.ColumnMappings.Add("Month", "Uploaded");
 objbulk.ColumnMappings.Add("Client Name", "ClientName");
 objbulk.ColumnMappings.Add("Charges", "Charge");
 objbulk.ColumnMappings.Add("Payment", "Payment");
 objbulk.ColumnMappings.Add("Adjustment", "Adjustment");
 objbulk.ColumnMappings.Add("W/O", "WO");
 con.Open();
 objbulk.WriteToServer(dt);
 con.Close();
 label1.Text = "Uploaded Successfully";
 }
 else
 {
 SqlBulkCopy objbulk = new SqlBulkCopy(con);
 objbulk.DestinationTableName = "TestMCount";
 //mapping the columns 
 objbulk.ColumnMappings.Add("ID", "MID");
 objbulk.ColumnMappings.Add("Month", "Uploaded");
 objbulk.ColumnMappings.Add("Client Name", "ClientName");
 objbulk.ColumnMappings.Add("Charges", "Charge");
 objbulk.ColumnMappings.Add("Payment", "Payment");
 objbulk.ColumnMappings.Add("Adjustment", "Adjustment");
 objbulk.ColumnMappings.Add("W/O", "WO");
 con.Open();
 objbulk.WriteToServer(dt);
 con.Close();
 label1.Text = "Uploaded Successfully";
 }
 }
 else
 {
 SqlBulkCopy objbulk = new SqlBulkCopy(con);
 objbulk.DestinationTableName = "TestMCount";
 //mapping the columns 
 objbulk.ColumnMappings.Add("Month", "Uploaded");
 objbulk.ColumnMappings.Add("ID", "MID");
 objbulk.ColumnMappings.Add("Client Name", "ClientName");
 objbulk.ColumnMappings.Add("Charges", "Charge");
 objbulk.ColumnMappings.Add("Payment", "Payment");
 objbulk.ColumnMappings.Add("Adjustment", "Adjustment");
 objbulk.ColumnMappings.Add("W/O", "WO");
 con.Open();
 objbulk.WriteToServer(dt);
 con.Close();
 label1.Text = "Uploaded Successfully";
 }
 }
 }

我尝试了下面的代码,但问题是它会清除标签消息,直到文件上传一次,如果我提供了不正确的月份和年份,则再次上传文件,它不会显示错误消息,表明它不是有效的文档

<asp:FileUpload ID="FileUpload1" runat="server"  onchange="callme();" />

function callme() {
         document.getElementById("your message label id").value= "";
       }

最佳答案

如果你想清除javascript中Label的值,

function callme() {
      document.getElementById("your message label id").innerHTML= "";
}

因为,Label 在浏览器中呈现为一个跨度。 Span 没有作为属性的值。

如果你想在服务器端清除该值,那么你需要在c#方法的开头清除。

label1.Text = string.Empty;

希望这有帮助!

关于javascript - 如何清除每次使用文件 uploader 上传文件时的标签消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42383440/

相关文章:

php - 我如何使用 Javascript 处理 "store"和 "call"数据?

javascript - 寻找 Angular 0-360

c# - 大写字母的 URL 编码

javascript - 为什么有这么多 jquery ajax 文件?

javascript - 如何拥有一个 jQuery 插件的多个实例

c# - 加载数据的时间很长。大量数据。 C# 中的 SQL 查询

c# - Process.Start 很慢

asp.net - Visual Studio 2010 - WDP 或 Publish 用于自动部署?

c# - 我是否在我的 ASP.NET MVC 5 应用程序中使用了 Active Directory 身份验证?

javascript - 如何使用 Puppeteer 通过 ElementHandle 设置内部文本?