假設我有一個包含一些綁定字段和一個模板字段的gridview。模板字段包含一個按鈕(btnUpload)。從GridView的特定行索引傳遞列值
btnUpload觸發一個modalpopupextender來顯示一個包含一些控件和一個提交按鈕的面板。
我需要做的是從行btnUpload被單擊並將其傳遞到面板的單元格0的值,以便我可以檢索一些數據到panel_load事件的面板控件基於該來自gridview的單元格0的值。
我想我可以通過將單元格0中的值存儲在會話變量中來做到這一點,但不確定這是否是這樣做的「最佳」方式?
更新 - 使用面板存儲行索引上隱藏字段由Karl
的建議我增加了兩個隱藏字段的面板和我填充它們如下:
If e.CommandName = "Upload" Then
Dim row As GridViewRow = CType(CType(e.CommandSource, Control).NamingContainer, GridViewRow)
Dim ref As String = CType(row.Cells(0), DataControlFieldCell).Text
Dim dt As String = CType(row.Cells(2), DataControlFieldCell).Text
hfRef.Value = ref
hfDate.Value = dt
End If
這正在工作並填充隱藏的字段。然而,面板上的btnSubmit_Click事件過程中我做下面我分配沒有得到從隱藏字段的值的變量:
If fuCertificate.HasFile Then
Dim fileName As String = Path.GetFileName(fuCertificate.PostedFile.FileName)
fuCertificate.SaveAs(Server.MapPath("~/CalibrationCerts/" & fileName))
Dim ref As String = hfRef.Value
Dim dt As String = hfDate.Value
Dim dc As New ExternalCalibrationDataContext
Dim thisRecord = (From x In dc.ext_calibration_records
Where x.calibration_no = ref AndAlso
x.calibration_date = dt).ToList()(0)
thisRecord.certificate_no = txtCertNumber.Text
thisRecord.certificate = "~/CalibrationCerts/" & fileName
Else
lblError.Text = "Please select a file to upload"
End If
感謝卡爾,我更喜歡隱藏字段選項。我之前沒有用過這些,並且喜歡你說它比使用會話變量更容易。雖然隱藏的字段值似乎沒有保存 – Jimsan