基于LinkBut​​ton在另一页面上创建SQL语句

时间:2015-06-23 13:05:24

标签: sql asp.net vb.net gridview asplinkbutton

我有一个简单的表格如下所示:

enter image description here

当用户点击“模板字段链接”按钮时,它应发送到另一个页面并将信息填入以下文本框:

enter image description here

我希望能够填充使用表格信息的SQL语句来填充数据库中的信息:

以下是我的gridview:

<Columns>

   asp:TemplateField HeaderText="Action" SortExpression="Date">
        <ItemTemplate>
          <asp:LinkButton ID="LinkButton1" runat="server" CommandName="view" >Display</asp:LinkButton> 
        </ItemTemplate>
           <ControlStyle Width="45px" />
           <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="100px" />
        </asp:TemplateField>

    <asp:BoundField DataField="Classid" HeaderText="ID" 
                            SortExpression="Date" > 
        <ItemStyle cssClass="grid_padding" />
    </asp:BoundField>

    <asp:BoundField DataField="Addate" HeaderText="Date" SortExpression="Date" 
                            DataFormatString="{0:d}" >
        <ItemStyle cssClass="grid_padding" />
    </asp:BoundField>

    <asp:BoundField DataField="username" HeaderText="User Name" 
                            SortExpression="Date" > 
        <ItemStyle cssClass="grid_padding" />
    </asp:BoundField>

    <asp:BoundField DataField="category" HeaderText="Category" SortExpression="Date"> 
        <ItemStyle cssClass="grid_padding" />
    </asp:BoundField>

    <asp:BoundField DataField="description" HeaderText="Description" 
                            SortExpression="Date" >                
         <ItemStyle CssClass="grid_padding2" />
    </asp:BoundField>

</Columns>

这就是我到目前为止的链接按钮(更新:所有注释掉的行都给我错误,所以他们不能工作):

Protected Sub DisplayClassifieds_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DisplayClassifieds.SelectedIndexChanged
    Dim strSelect As String
    Dim strFilter As String = " "
    Dim counter As Integer = 0
    Dim v As Integer = 0
    'cell = DisplayClassifieds[0,Row].Value

    'cell = DisplayClassifieds.Rows(e.NewSelectedIndex).Cells(0).Text
    'strFilter = DisplayClassifieds.SelectedRowStyle(0).Value

    strSelect = "SELECT Classid, Addate, Username, Category, Description, Fulldescription FROM TABLENAME WHERE Classid = '" & strFilter & "' "


    Page.Session.Add("Display_Values", strSelect)
    Response.Redirect("DispAd.aspx")
End Sub

2 个答案:

答案 0 :(得分:0)

我的vb.net GridView有点生疏,因为我一直在使用带有WinForms的DataGridViews,但它们基本相同。这样的事情应该让你朝着正确的方向前进。这应该放在你的模板按钮点击事件

 dim ID as string =  DataGridView1.Rows(e.RowIndex).Cells("ID").Value

 dim Date as string = DataGridView1.Rows(e.RowIndex).Cells("Date").Value

继续为您需要数据的所有列执行此操作,然后您可以使用会话变量将ID,日期变量传递到下一页

答案 1 :(得分:0)

进行了这么多尝试,但是使用了SelectedRow.Cells(1).Text ...或.Value给了我一些问题,所以我分手了:

Dim row As GridViewRow = DisplayClassifieds.SelectedRow
strFilter = row.Cells(1).Text

有了这个我得到了我的&#34; ID&#34;足以用于我的SQL的值