2017-02-22 63 views
1

下面是我的代碼背後的代碼,它驗證用戶上傳的文檔是否正確,基於月份和年份中給出的月份和年份文本框如果給定的月份和年份與表單中的相同,那麼記錄將上傳到數據庫中,否則返回它不是有效的文檔。如果當我通過文件上傳器上載表單時,它不再是有效的文檔,那麼我需要再次隱藏標籤味精,如果不是有效的文件再次我應該不顯示有效的文件,並再次上傳時,我需要清除標籤消息,如果它再次成功上傳,如果用戶選擇一個文件是不是一個有效的月份然後我應該顯示不是一個有效的文件。最後的要求是每次當用戶使用文件上傳器選擇文件時清除標籤消息。我該如何做如何在每次使用文件上傳器上傳文件時清除標籤消息

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= ""; 
     } 

回答

0

如果你想清除標籤的值在JavaScript然後,

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

因爲,標籤是在瀏覽器中呈現爲一個跨度。跨度不具有作爲屬性的價值。

如果你想清除服務器端的值,那麼你需要清除在C#方法的開始。

label1.Text = string.Empty; 

希望這有助於!

+0

我已經在頁面加載時只做了lablel.text =「」;在回發和沒有把它放在回發,但它沒有得到清除,因爲該網頁將不會加載更多我需要清除標籤味精顯示,當它不是一個有效的文件時選擇文件使用文件上傳 –

+0

你能分享一下代碼嗎? –

+0

是以上是我完成的代碼,當我點擊按鈕進入另一個.cs頁面ReadExcelSheet obj = new ReadExcelSheet();在工作表中的數據讀取後再次讀取它來到我的CS頁面,並根據用戶在文本框中給出的月份和年份執行下一行,如果它們是插入數據庫的有效月份和年份,則它會被執行不顯示有效的文檔 –

相關問題