#asp.net #vb.net
#asp.net #vb.net
Вопрос:
У меня есть веб-форма, в которой я отбросил 6 выпадающих списков, и у каждого выпадающего списка есть предыдущие семь дат для открытия файлов из определенной папки, объединенных с датой в конце имени файла.Проблема в том, что когда я выбираю первый выпадающий список, он открывает файл нормально, но когда я выбираю дату из любого другого выпадающего списка, чтобы открыть файл, он открывает тот же файл, который был открыт из первого выпадающего списка.Пожалуйста, ознакомьтесь с кодом и внесите в него исправления.
Мой код приведен ниже
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 Excel = Microsoft.Office.Interop.Excel
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) " amp; DD1.SelectedValue amp; ".xls")
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) " amp; DD2.SelectedItem.Value.ToString amp; ".pdf")
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 " amp; DD3.SelectedItem.Value.ToString amp; ".ods")
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 " amp; DD4.SelectedItem.Value.ToString amp; ".ods")
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 " amp; dd5.SelectedItem.Value.ToString amp; ".ods")
End Sub
Protected Sub DD6_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DD6.SelectedIndexChanged
Response.Redirect("Reports/Daily P amp; L Cost sheet/Daily P amp; L Cost sheet. " amp; DD6.SelectedValue amp; ".xls")
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'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 Sub
End Class
Комментарии:
1. Из-за вашего кэша будут храниться данные, поэтому он всегда будет открывать один и тот же. Каждый раз обновляйте / очищайте свои кэши, чтобы решить эту проблему.
2. Уважаемый, существует и другая проблема. Когда я выбираю последний выпадающий список, он открывает файл нормально, а также, когда я выбираю любой другой dd, он также открывает файл нормально, но когда я сначала открываю первый dd, а затем, если открыть любой другой, он открывает тот же файл, который был открыт с первого
Ответ №1:
Вы проверили, чтобы убедиться, что OnChange
события для других выпадающих списков ссылаются на правильные методы в вашем коде? Все они могут ссылаться DD1_SelectedIndexChanged
.
Кстати, вам действительно стоит подумать о рефакторинге части вашего кода, поскольку у вас там много повторений. Код заполнения списка также должен быть перемещен в On_Init
событие.
Комментарии:
1. Это было не полное решение, просто предложение о том, как улучшить ваш код. Вы проверили, что события определены правильно?
2. Код, прежде чем вы его проверите, и скажите мне, где ошибка
Ответ №2:
Поместите свою логику привязки выпадающего списка в IsPostaback, как показано ниже
если нет, page.ispostback
// затем привязать
завершить, если
Комментарии:
1. Я уже сделал это, но все напрасно, пожалуйста, скажите мне другое решение