マンガでよめる痔のこと・薬のこと

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

このQ&Aに関連する最新のQ&A

A 回答 (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-transitio …
<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
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング