<strong>첫 번째는 상위 페이지의 코드입니다. </strong> <br><div class="codetitle"> <span><a style="CURSOR: pointer" data="20312" class="copybut" id="copybut20312" onclick="doCopy('code20312')"><u>코드를 복사하세요. </u></a></span> 코드는 다음과 같습니다. </div> <div class="codebody" id="code20312"> <br><head runat="server"> <br><title>제목 없는 페이지</title> <br><%-- <script type="text/javascript"> <br>function openDia() { <br>var return = window.showModalDialog("Default4.aspx?" (new Date()), window) <br>if (반환됨) { <br>document.getElementById(" ret").innerHTML = 반환됨; <br>} <br>else { <br>document.getElementById("ret").innerHTML = ""; <br>} <br>} <br></script> --%> ; <br><script type="text/javascript"> <br>function openDia(){ <br>var return = window.showModalDialog("Default3.aspx?" (새 Date()) , 창); <br>if (반환됨){ <br>document.getElementById("tbtext").value = 반환됨; <br>} <br>else{ <br>document.getElementById("tbtext").value = ""; <br>} <br></head> <br><body><form id="form1" runat="server "> <br><div id="ret"> <br><input id="tbtext" type="text" value="" onclick="openDia();return false;" /> <br>< ;/div> <br><asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="openDia();return false;" input id="hidden" runat="server" /> <br></form> <br></html> <br><br> 🎜>추가에 대하여 위의 것(new Data())은 showModalDialog 페이지의 자동 캐싱 문제를 방지하기 위한 것입니다. 이로 인해 페이지를 두 번째 열 때 데이터가 새로 고쳐지지 않습니다. showModalDialog 페이지의 URL은 매번 동일하며 이전에 캐시된 페이지 내부의 데이터를 자동으로 표시합니다. <br>그런 다음 하위 페이지 Default3.aspx의 코드가 있습니다. <br><br><br> </div> <br>코드 복사<br><br><div class="codetitle"> 코드는 다음과 같습니다. <span><a style="CURSOR: pointer" data="12026" class="copybut" id="copybut12026" onclick="doCopy('code12026')"> <u><head runat="server"> </u><title>제목 없는 페이지</title> </a><script type="text/javascript"> function getSelected(data) { </span>var str = data; </div>window.returnValue = str.toString() <div class="codebody" id="code12026">window.close() <br></script> ><base target= "_self"/> <br><body><br><form id="form1" runat="server" target=""> 🎜><div> <br><asp:GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound"> <br><열> <br><templatefield><asp:LinkButton id="lnkSelect2" runat="server" Text="Select" > </asp:LinkButton> <br></ItemTemplate> asp:TemplateField> <br></asp:GridView> <br></form> ;/html> <br><br> <br>Default3.aspx에는 그리드뷰 컨트롤이 포함되어 있습니다. 데이터 바인딩 후(직접 바인딩하면 코드가 게시되지 않음) 필요한 데이터를 선택할 수 있습니다. <br>Default3.aspx.cs: <br>[코드] <br>protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) <br>{ <br>if (e.Row.RowType == DataControlRowType.DataRow) <br>{ <br>LinkButton b = (LinkButton)e.Row.FindControl("lnkSelect2") <br>b.Attributes.Add("OnClick", "javascript:getSelected('" e.Row.Cells[1] .Text "');"); <br>} <br>} <br>[html] <br>Default3.aspx의 <head></head> 사이에 있는 <base target="_self "/ > 및 <form target="">는 하위 페이지에서 선택 버튼을 클릭한 후 세 번째 양식이 표시되는 것을 방지하는 데 사용됩니다. <br>이것은 여전히 자신의 필요에 따라 경험하고 개선해야 할 예입니다.</templatefield> </div>