I have a web project in asp.net in which i have dashboard on which there are dropdownlists with previous seven dates and when i select the date from dropdownlist it opens the file from folder matching with date selected.My dropdownlists are arranged vertically.A strange problem is that when i select the date from ist dropdownlist it opens the file fine and when i select the date date value from any other dropdownlist it opens the same file which opened from the ist dropdownlist all remaining dropdowlists behave same like.And other strange Problem is that when i start opening files from the last dropdownlist to ist.when i select the date from last dropdown ot opens the file fine and also when select the date from 2nd last it opens the file fine and all are open the files fine i-e when i start Ist to last it shows problem but when i start last to Ist it works fine.Please tell me what possibility can be?
My code is bellow
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.IO
Imports System.Data.SqlClient
Imports System.Diagnostics.Process
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Console
Partial Class DashBoard
Inherits System.Web.UI.Page
Protected Sub DD1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DD1.SelectedIndexChanged
Response.Redirect("Reports/Daily Production and Stock Report (Crescent Ujala)/Daily Production and Stock Report (Crescent Ujala) " & DD1.SelectedValue & ".xls", True)
End Sub
Protected Sub DD2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DD2.SelectedIndexChanged
Response.Redirect("Reports/Daily Production Efficiency Report (Crescent Ujala)/Daily Production Efficiency Report (Crescent Ujala) " & DD2.SelectedItem.Value.ToString & ".pdf", True)
End Sub
Protected Sub DD3_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DD3.SelectedIndexChanged
Response.Redirect("Reports/September Sowing Report/September Sowing Report " & DD3.SelectedItem.Value.ToString & ".ods", True)
End Sub
Protected Sub DD4_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DD4.SelectedIndexChanged
Response.Redirect("Reports/September Sowing Report Area-1/September Sowing Report Area-1 " & DD4.SelectedItem.Value.ToString & ".ods", True)
End Sub
Protected Sub DD5_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dd5.SelectedIndexChanged
Response.Redirect("Reports/September Sowing Report Area-2/September Sowing Report Area-2 " & dd5.SelectedItem.Value.ToString & ".ods", True)
End Sub
Protected Sub DD6_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DD6.SelectedIndexChanged
Response.Redirect("Reports/Daily P & L Cost sheet/Daily P & L Cost sheet. " & DD6.SelectedValue & ".xls", True)
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
'Add Values to Dropdownlist 1
DD1.Items.Add(New ListItem("", ""))
DD1.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -1, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -1, Now), "yyyy.MM.dd")))
DD1.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -2, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -2, Now), "yyyy.MM.dd")))
DD1.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -3, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -3, Now), "yyyy.MM.dd")))
DD1.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -4, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -4, Now), "yyyy.MM.dd")))
DD1.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -5, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -5, Now), "yyyy.MM.dd")))
DD1.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -6, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -6, Now), "yyyy.MM.dd")))
DD1.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -7, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -7, Now), "yyyy.MM.dd")))
'Add Values to Dropdownlist 2
DD2.Items.Add(New ListItem("", ""))
DD2.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -1, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -1, Now), "yyyy.MM.dd")))
DD2.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -2, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -2, Now), "yyyy.MM.dd")))
DD2.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -3, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -3, Now), "yyyy.MM.dd")))
DD2.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -4, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -4, Now), "yyyy.MM.dd")))
DD2.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -5, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -5, Now), "yyyy.MM.dd")))
DD2.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -6, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -6, Now), "yyyy.MM.dd")))
DD2.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -7, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -7, Now), "yyyy.MM.dd")))
'Add Values to Dropdownlist 3
DD3.Items.Add(New ListItem("", ""))
DD3.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -1, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -1, Now), "yyyy.MM.dd")))
DD3.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -2, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -2, Now), "yyyy.MM.dd")))
DD3.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -3, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -3, Now), "yyyy.MM.dd")))
DD3.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -4, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -4, Now), "yyyy.MM.dd")))
DD3.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -5, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -5, Now), "yyyy.MM.dd")))
DD3.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -6, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -6, Now), "yyyy.MM.dd")))
DD3.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -7, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -7, Now), "yyyy.MM.dd")))
'Add Values to Dropdownlist 4
DD4.Items.Add(New ListItem("", ""))
DD4.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -1, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -1, Now), "yyyy.MM.dd")))
DD4.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -2, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -2, Now), "yyyy.MM.dd")))
DD4.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -3, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -3, Now), "yyyy.MM.dd")))
DD4.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -4, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -4, Now), "yyyy.MM.dd")))
DD4.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -5, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -5, Now), "yyyy.MM.dd")))
DD4.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -6, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -6, Now), "yyyy.MM.dd")))
DD4.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -7, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -7, Now), "yyyy.MM.dd")))
'Add Values to Dropdownlist 5
dd5.Items.Add(New ListItem("", ""))
dd5.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -1, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -1, Now), "yyyy.MM.dd")))
dd5.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -2, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -2, Now), "yyyy.MM.dd")))
dd5.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -3, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -3, Now), "yyyy.MM.dd")))
dd5.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -4, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -4, Now), "yyyy.MM.dd")))
dd5.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -5, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -5, Now), "yyyy.MM.dd")))
dd5.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -6, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -6, Now), "yyyy.MM.dd")))
dd5.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -7, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -7, Now), "yyyy.MM.dd")))
'Add Values to Dropdownlist 6
DD6.Items.Add(New ListItem("", ""))
DD6.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -1, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -1, Now), "yyyy.MM.dd")))
DD6.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -2, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -2, Now), "yyyy.MM.dd")))
DD6.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -3, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -3, Now), "yyyy.MM.dd")))
DD6.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -4, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -4, Now), "yyyy.MM.dd")))
DD6.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -5, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -5, Now), "yyyy.MM.dd")))
DD6.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -6, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -6, Now), "yyyy.MM.dd")))
DD6.Items.Add(New ListItem(Format(DateAdd(DateInterval.Day, -7, Now), "dd-MMM"), Format(DateAdd(DateInterval.Day, -7, Now), "yyyy.MM.dd")))
End If
End Sub
End Class
I believe that in your browser, you are probably getting the prompt for open/save the file. In such case, the current html document (including view-state) will remain as is in the browser. So when next post-back happens due to next drop-down select, ASP.NET will infer that selection has changed for two drop-downs (because view-state belongs to the request to page where no drop-down was selected) and will attempt to raise events for the same. It will probably raise event as per control tree and hence event for first drop-down list will be raised first and that would open the first file. Again, response.redirect would cut-off page processing (and no subsequent events will be processed). That’s why you see the weird behavior – for example, if you select DD4 first then it will open corresponding file, now if you select DD5, it will still open DD4 file. However, now if you select DD2, it will open file for DD2 and again in this state, you tried to open DD3, it will going to open DD2. Any selection in drop-down list is going to open the file for the earliest drop-down selected.
The remedy is simple – open the file in new window. For example, change all
response.redirectlines to something likeThe better solution is remove auto-postbacks and server side selection events – instead, handle the selection changed in the java-script and launch the file from there.
Even better solution (IMO) is to change the page UI – instead of using drop-down lists, offer download links (anchor tags) for previous seven dates.