下面是我的代碼,這如果這兩個檢查擴展和基於擴展將進入閱讀方法的問題dt和dt1行數據以doc和docx結尾,然後它轉到讀取文件方法 如果一個是doc,另一個是docx,反之亦然,它將顯示一條消息,即所選文檔應該具有相同的擴展名。防止插入時,在這兩個數據表的擴展是不同的,繼續當在數據表擴展使用ASP.NET的C#是相同的插入
假設如果我採取3個douments在一對,這意味着完全6讓我們假設在兩個DataTable的數據以這種方式
dt dt1
doc docx
doc doc
docx doc
doc docx
然後爲第一個它應該顯示錯誤消息爲第二個它應該插入,併爲第三和第四它不應該插入,但它不會被插入我來知道問題是與返回在其他條件,但如果我不使用返回後進入其他塊它執行我的下一行if code.How can reslove this
if (ddlstype.SelectedValue == "3")
{
if (dt.Rows.Count > 0 && dt1.Rows.Count > 0)
{
if (dt.Rows[0]["fname"].ToString().ToLower().EndsWith(".docx") && dt1.Rows[0]["lname"].ToString().ToLower().EndsWith(".docx"))
{
ReadFiles();
}
else if (dt.Rows[0]["fname"].ToString().ToLower().EndsWith(".doc") && dt1.Rows[0]["lname"].ToString().ToLower().EndsWith(".doc"))
{
ReadFiles();
}
else if (dt.Rows[0]["fname"].ToString().ToLower().EndsWith(".doc") && dt1.Rows[0]["lname"].ToString().ToLower().EndsWith(".docx"))
{
lblerrmsg.Visible = true;
lblerrmsg.Text = "Both the selected Documents Should Have Same Extensions";
return;
}
else if (basedt.Rows[0]["Bfname"].ToString().ToLower().EndsWith(".docx") && draftdt.Rows[0]["lname"].ToString().ToLower().EndsWith(".doc"))
{
lblerrmsg.Visible = true;
lblerrmsg.Text = "Both the selected Documents Should Have Same Extensions";
return;
}
}
}
你的例子假定4行'dt'和'dt1'但沒有循環迭代通的行。你所要做的就是試着通過'dt.Rows [0]'和'dt1.Rows [0]'比較第一行的數據。同樣根據你的邏輯和樣本數據,它將從第二個'ifse'塊返回,因爲你在'dt'中有'doc',在'dt1'中有'docx'。所以你需要使用循環並從else if塊中移除返回語句。 –
已經我使用循環和分離該選定的文件到兩個DataTable 如果兩個數據表中的行含有相同的擴展應該插入否則,如果我們在上面的例子中DT看到 第二行應該不會被插入DT1具有相同擴展,但它沒有被插入,它直接顯示錯誤信息 – bargavik93
如果你能顯示使用循環的代碼,這將是一件好事。無論你共享什麼代碼,我都會看到你正在試圖比較兩個表中第一行的數據。並根據您的示例數據,第一行不符合ReadFiles的標準,這就是爲什麼它返回到其他位置,如果從那裏返回。您是否嘗試調試代碼並理解查看給定示例數據的代碼執行方式? –