asp.net 在弹出窗体双击GridView中的某行,将其中一个字段传递到本页面的textbox中 急急急

2024-12-05 16:05:11
推荐回答(1个)
回答(1):

1.首先,gridview没有双击事件,需要另外的确认按钮来触发事件。
2.一般通过session(变量名)来进行不同页面间的传值。
3.在父页面上增加一个按钮,其单击响应事件是将子页面设置的session值付给textbox控件。
4.在子页面上增加一个按钮,其单击响应事件是将gridview选定行的对应单元格的值付给session。
5.父页面调用子页面时,需设定window变量,以便子页面找到父页面。
6.子页面在关闭或按下确认按钮时,通过js代码执行父页面上的付值按钮来完成操作。
相关代码如下:(通用代码就不贴了)
打开子窗口:
ClientScript.RegisterStartupScript(mytype, "staff_find", "showModalDialog('../find/查找员工.aspx',window,'dialogHeight: 500px; dialogWidth: 1000px; status: no; help: no');", True)
传值到父窗口:
If GridViewdetail.SelectedValue IsNot Nothing Then
Session("staff_out") = GridViewdetail.SelectedValue.ToString
jsstr.Append("var parentwindow=window.dialogArguments;")
If GridViewdetail.SelectedRow.Cells(2).Text IsNot Nothing Then
Session("staff_in") = GridViewdetail.SelectedRow.Cells(2).Text
jsstr.Append("if (parentwindow !=null) var doc=parentwindow.document;")
jsstr.Append("if (doc !=null) var button=doc.getElementById('Buttonstaff');")
jsstr.Append("if (button!=null) button.value='")
jsstr.Append(GridViewdetail.SelectedRow.Cells(2).Text)
jsstr.Append("';")

jsstr.Append("if (doc !=null) var button=doc.getElementById('Buttonrefresh');")
jsstr.Append("if (button!=null) button.click();")
End If

End If
jsstr.Append("window.close();")
ClientScript.RegisterStartupScript(mytype, "staff_close", jsstr.ToString(), True)