• ベストアンサー

GridViewとJavascriptの連携

GridViewを使い、明細表示を考えています。 その際、レコードにリンクを設定し、 JavaScriptに連携させたいと考えています。 そこで、レコードのカラムの値を利用しようと考えているのですが、 うまくJavaScriptに引数として渡せません。 何かいい方法はありませんか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

お世話になります。 連携とおっしゃるのがイマイチ解らないのですが こういう事とかでしょうか。 ■aspx <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default3.aspx.vb" Inherits="Default3" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">   <title>無題のページ</title> </head> <body>   <form id="form1" runat="server">   <div>     <asp:GridView ID="GridView1" runat="server" DataSource='<%# m_datasource %>' AutoGenerateColumns="False">       <Columns>         <asp:TemplateField HeaderText="Field1">           <ItemTemplate>             <asp:LinkButton ID="LinkButton1"               Text='<%# DataBinder.Eval(Container, "DataItem.Field1") %>'               CommandArgument='<%# DataBinder.Eval(Container, "DataItem.Field1") %>'               CommandName="MyCommandName"               runat="server">LinkButton</asp:LinkButton>           </ItemTemplate>         </asp:TemplateField>         <asp:BoundField DataField="Field2" HeaderText="Field2" />         <asp:BoundField DataField="Field2" HeaderText="Field3" />       </Columns>     </asp:GridView>     </div>     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>     <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>     <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>   </form> </body> </html> ■aspx.vb Partial Class Default3   Inherits System.Web.UI.Page   Protected m_datasource As Data.DataTable   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load     If Not IsPostBack Then       Dim dt As Data.DataTable = New Data.DataTable       dt.Columns.Add("Field1", GetType(String))       dt.Columns.Add("Field2", GetType(String))       dt.Columns.Add("Field3", GetType(String))       For i As Integer = 1 To 10         dt.Rows.Add(New String() {i.ToString(), _                      i.ToString() + i.ToString(), _                      i.ToString() + i.ToString() + i.ToString()})       Next       Session("myData") = dt       Me.m_datasource = dt       Me.GridView1.DataSource = dt       Me.GridView1.DataBind()     Else       Me.m_datasource = DirectCast(Session("myData"), Data.DataTable)     End If   End Sub   Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand     If e.CommandName = "MyCommandName" Then       Dim index As Integer = Convert.ToInt32(e.CommandArgument)       Me.TextBox1.Text = Convert.ToString(Me.m_datasource.Rows(index)("Field1"))       Me.TextBox2.Text = Convert.ToString(Me.m_datasource.Rows(index)("Field2"))       Me.TextBox3.Text = Convert.ToString(Me.m_datasource.Rows(index)("Field3"))     End If   End Sub End Class

関連するQ&A