2

以下は、ボタン検索の私のコードです。グリッドをバインドしてzipファイルをダウンロードする必要があります。問題は、zipファイルがダウンロードされているが、グリッドがバインドされていない関数が呼び出されているが、データリストがバインドされていないことです。

Private Sub BindGrid()
    SQL = "Select JameatID,JamaatID,MadrassahID, JameatName,JamaatName,MadrassahName,StudentID,ClassID,DIvisionName,FullName,datediff (year ,DOB,getdate() )as Age  from vwstudent vw LEFT OUTER JOIN CMaster cm ON vw.ClassID =cm.CMID AND MasterName ='ClassID'  where 1=1   order by JameatName,JamaatName,MadrassahName,cm.OrderId "
    Dim ds As New dataset
    ds = gc.GetDataToListBinder(SQL)
    DListPhotoInfo.DataSource = ds 
    DListPhotoInfo.DataBind()

End Sub

Private Sub DownloadImage(ByVal EJID As String)
    Dim DS As Data.DataSet
    Dim tmpZipFile As String
    tmpZipFile = System.IO.Path.GetTempFileName
    Dim zipFile As New GraficaliZip(tmpZipFile)
    zipFile.CreateZipFile()
    Dim strID() As String = Split(EJID.Trim, ",")
    For i As Integer = 0 To strID.Length - 1
         If ImageExist(strID(i).Trim) = True Then
             zipFile.PutFile(Server.MapPath(".") & _
                             "\Photo\" & strID(i).Trim & _
                             ".jpg", strID(i).Trim & ".jpg")
         End If
     Next
       BindGrid() ///from here i am binding grid
     zipFile.SaveFile()
     gc.DownLoadFileFromServer("", tmpZipFile & ".zip", "Photo.zip")
End Sub

Protected Sub btnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearch.Click


    DownloadImage("20312059,20313178")
    PnlGrid.Visible = True
End Sub
4

1 に答える 1

1

pageLoad イベントの !IsPostBack 内で BindGrid() メソッドを呼び出します

為に

Page_load()
{
 if(!IsPostBack)
 {
 BindGrid()
 }    
}

また、ダウンロードボタンのクリックイベントで BindGrid() メソッドを呼び出す必要があります

Private Sub DownloadImage(ByVal EJID As String)
    Dim DS As Data.DataSet
    Dim tmpZipFile As String
    tmpZipFile = System.IO.Path.GetTempFileName
    Dim zipFile As New GraficaliZip(tmpZipFile)
    zipFile.CreateZipFile()
    Dim strID() As String = Split(EJID.Trim, ",")
    For i As Integer = 0 To strID.Length - 1
         If ImageExist(strID(i).Trim) = True Then
             zipFile.PutFile(Server.MapPath(".") & _
                             "\Photo\" & strID(i).Trim & _
                             ".jpg", strID(i).Trim & ".jpg")
         End If
     Next
     zipFile.SaveFile()
     gc.DownLoadFileFromServer("", tmpZipFile & ".zip", "Photo.zip")
 **BindGrid()**
End Sub

更新

最初にダウンロードメソッドを呼び出し、次に検索ボタンをクリックしたときにバインディングメソッドを呼び出します

Protected Sub btnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearch.Click


    DownloadImage("20312059,20313178")
 **BindGrid()**
    PnlGrid.Visible = True
End Sub

編集: 更新パネルを使用した場合、

呼び出しUpdatePanelID.Update()に次ぐ呼び出しBindGrid()

  • UpdatePanelコントロールが別のコントロール内にネストされUpdatePanel、親パネルが更新されたとき。

その他の問題:

このリンクを見てください

http://forums.asp.net/t/1605207.aspx

UpdatePanel でデータリストを更新する

http://forums.asp.net/t/1320236.aspx/1?update+panel+doesnot+refresh+the+datalist+control+for+first+time

于 2013-08-23T05:59:59.043 に答える