下面是我的代码后面的代码,它根据文本框中给出的月份和年份验证用户上传的文档是否正确(如果给定的月份和年份与工作表中的相同,则记录)被上传到数据库中,否则它返回它不是有效文档。如果当我通过文件 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/