 |
|
ทำปุ่มคลิกดูรายละเอียดใน Gridview โดยใช้ RowDataBound แต่ไม่ว่าจะคลิกปุ่มไหนก็ส่งค่าของแถวสุดท้ายหมดค่ะ |
|
 |
|
|
 |
 |
|
ไม่แปลกครับ คุณเก็บตัวแปรไว้ใน Session("searchID")
เวลารันมันจะรันอย่างนี้ครับ
Session("searchID") = row1
Session("searchID") = row2
Session("searchID") = row3
Session("searchID") = row4
.
.
.
Session("searchID") = row10
เพราะครั้งสุดท้ายมันจะเก็บเป็นค่า row10
ทำให้ส่งค่าเป็นตัวนี้ตลอดครับ
วิธีแก้คือเก็บตัวแปร planId ไว้กับตัว button แต่ละตัวเลยครับ
Code (VB.NET)
DetailBtn.Attributes.Add("Onclick", "javascript:window.open('Default2.aspx?planId='"&planId&",'_blank');")
|
 |
 |
 |
 |
Date :
2014-05-14 16:45:05 |
By :
ฟุริคุริ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ที่หน้า Default2.aspx ก็ใส่โค้ดนี้เข้าไปที่ PageLoad เพื่อรับค่าตัวแปรแล้วไปดึงข้อมูลจากดาต้าเบสมาแสดงครับ
Code (VB.NET)
Request.QueryString("planId")
หวังว่าจะเข้าใจนะ อิอิ
|
 |
 |
 |
 |
Date :
2014-05-14 16:50:23 |
By :
ฟุริคุริ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แก้ไขได้ตามที่คุณฟุริคุริบอกเลยค่ะ ขอบคุณที่สละเวลามาตอบนะคะ :D
|
 |
 |
 |
 |
Date :
2014-05-15 08:51:50 |
By :
BeginnerD |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ทราบว่าแก้ไขยังไงหรอครับ คือผมก็ทำตามแล้ว แต่เหมือน ข้อมูลมันยังไม่ส่งข้ามไปอ่ะครับ
รันผ่าน แต่ดูเหมือนว่าตรงบรรทัดนี้
Code (VB.NET)
DetailBtn.Attributes.Add("Onclick", "javascript:window.open('Default2.aspx?planId='"&planId&",'_blank');")
มันเหมือนไม่ทำงานเลยอ่ะครับ เวลาคลิกแล้วไม่เข้า JavaScript ด้วย
Code (ASP)
<asp:TemplateField HeaderText="Corective" HeaderStyle-Width="100px" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Button ID="btnClick" runat="server" Height="20px" />
</ItemTemplate>
<HeaderStyle Width="100px" HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:TemplateField>
Code (VB.NET)
Protected Sub GridView11_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GridView11.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim btnCorr As Button = CType(e.Row.FindControl("btnClick"), Button)
If Not IsNothing(btnCorr) Then
Dim num_material As String = e.Row.DataItem("num_material").ToString()
'Session("searchID") = num_material
btnCorr.Attributes.Add("Onclick", "javascript:window.open('correctivepage.aspx?num_material='" & num_material & ");")
End If
End If
End Sub
อันนี้เป็นโค้ดของผมครับ ต้องไปเพิ่มตรงไหนอีกไหมหว่า
ส่วนอีกหน้าหนึ่งที่เรียกใช้ ผมลองเรียกใช้โดย
Code (VB.NET)
Response.Write(Request.QueryString("num_material") + "<br/>")
ใส่ไว้ตรงเพจโหลดแล้ว ก็ไม่เกิดอะไรขึ้นเลย
|
 |
 |
 |
 |
Date :
2014-06-07 17:04:53 |
By :
shadowstorm |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|