Asp.net 删除下行列表事件问题

Asp.net 删除下行列表事件问题,asp.net,vb.net,Asp.net,Vb.net,我在asp.net中有一个web项目,其中有一个仪表板,上面有前七个日期的下拉列表,当我从下拉列表中选择日期时,它会从与所选日期匹配的文件夹中打开文件。我的下拉列表是垂直排列的。一个奇怪的问题是,当我从下拉列表中选择日期时,它会打开文件很好,当我从任何其他下拉列表中选择日期值时,它会打开从ist下拉列表中打开的同一个文件,所有剩余的下拉列表的行为都一样。另一个奇怪的问题是,当我开始从最后一个下拉列表到ist打开文件时。当我从最后一个下拉列表中选择日期时,ot会打开文件,并且另外,当选择从上次第二

我在asp.net中有一个web项目,其中有一个仪表板,上面有前七个日期的下拉列表,当我从下拉列表中选择日期时,它会从与所选日期匹配的文件夹中打开文件。我的下拉列表是垂直排列的。一个奇怪的问题是,当我从下拉列表中选择日期时,它会打开文件很好,当我从任何其他下拉列表中选择日期值时,它会打开从ist下拉列表中打开的同一个文件,所有剩余的下拉列表的行为都一样。另一个奇怪的问题是,当我开始从最后一个下拉列表到ist打开文件时。当我从最后一个下拉列表中选择日期时,ot会打开文件,并且另外,当选择从上次第二次开始的日期时,文件打开良好,所有文件都打开良好,即当我从上次开始时,它显示问题,但当我从上次开始时,它工作良好。请告诉我有什么可能? 我的密码是贝娄

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

我相信在您的浏览器中,您可能会得到打开/保存文件的提示。在这种情况下,当前html文档(包括视图状态)将保持浏览器中的原样。因此,当由于下一个下拉列表选择而发生下一次回发时,ASP.NET将推断两个下拉列表的选择已更改(因为视图状态属于未选择下拉列表的请求页),并将尝试引发相同的事件。它可能会根据控制树引发事件,因此第一个下拉列表的事件将首先引发,这将打开第一个文件。同样,response.redirect将切断页面处理(并且不会处理后续事件)。这就是为什么您会看到这种奇怪的行为——例如,如果您先选择DD4,它将打开相应的文件,现在如果您选择DD5,它仍将打开DD4文件。然而,现在如果您选择DD2,它将为DD2打开文件,并且再次在此状态下,您尝试打开DD3,它将打开DD2。下拉列表中的任何选择都将打开所选最早下拉列表的文件

补救方法很简单——在新窗口中打开文件。例如,更改所有
响应。将
行重定向为

ClientScript.RegisterStartupScript(Me.GetType(), "openfile", _
    "window.open('<put your file url here>');", true)
ClientScript.RegisterStartupScript(Me.GetType(),“openfile”_
“窗口。打开(“”);”,正确)
更好的解决方案是删除自动回发和服务器端选择事件——相反,处理java脚本中更改的选择并从那里启动文件


更好的解决方案(IMO)是更改页面用户界面-而不是使用下拉列表,提供前七个日期的下载链接(锚定标签)。

先生,我无法理解您的代码,因为它显示“Open file不是system.tpye的成员”的错误,甚至我也在标题中编码为“Imports system.type”@Adeel,更正了代码!不管语法如何,我要做的是生成一个java脚本,在新窗口中打开文件url(而不是重定向到该url)。你能给我一段代码,用javascript plz打开文件吗。因为上面的代码仍然显示错误,所以非常感谢我已经解决了主要问题,但仍然存在的问题是如何将dropdowlist中的选定值与文件url连接起来,请告诉我urgently@AdeelAslam,在javascript中,使用类似于
var ddl=document.getElementById(“[将下拉列表id放在这里]”)的代码;url='[put base url]'+ddl.options[ddl.selectedIndex].value+'.xls'