Gridview按钮onclick不会从Microsoft Developer Network示例中触发

时间:2014-10-29 15:41:13

标签: asp.net gridview webforms

我创建了一个包含多列的简单网格视图,并添加了一个按钮,因此在单击时将行的值传递给不同的网页表单,但点击不点火时按钮。我使用链接中的示例代码 :http://msdn.microsoft.com/en-us/library/bb907626(v=vs.100).aspx

这是我的代码:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
    AllowSorting="True" DataSourceID="SqlDataSource1" 
    PageSize="100" AutoGenerateColumns="False">
    <Columns>
        <%--<asp:HyperLinkField HeaderText="Edit" NavigateUrl="FormReport2.aspx" 
            Text="Edit" />--%>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:Button ID="AddButton" runat="server" 
                CommandName="AddToCart" 
                CommandArgument="<%# CType(Container,GridViewRow).RowIndex %>"
                Text="Add to Cart" />
            </ItemTemplate> 
        </asp:TemplateField>

        <asp:BoundField DataField="fldEmployeeID" HeaderText="EmployeeID" 
            SortExpression="fldEmployeeID" />
        <asp:BoundField DataField="fldAbsentDate" HeaderText="AbsentDate" 
            SortExpression="fldAbsentDate" />
        <asp:BoundField DataField="fldAbsentCode" HeaderText="AbsentCode" 
            SortExpression="fldAbsentCode" />
        <asp:BoundField DataField="fldRuleViolationWarningType" 
            HeaderText="Rule Violation Warning Type" 
            SortExpression="fldRuleViolationWarningType" />
        <asp:BoundField DataField="fldRuleViolationIssueDate" 
            HeaderText="Rule Violation Issue Date" 
            SortExpression="fldRuleViolationIssueDate" />
        <asp:BoundField DataField="fldLOAEndDate" HeaderText="LOA End Date" 
            SortExpression="fldLOAEndDate" />                                     

    </Columns>
</asp:GridView>

背后的代码

 Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As  System.Web.UI.WebControls.GridViewCommandEventArgs)
    If (e.CommandName = "AddToCart") Then
        ' Retrieve the row index stored in the CommandArgument property.
        Dim index As Integer = Convert.ToInt32(e.CommandArgument)

        ' Retrieve the row that contains the button 
        ' from the Rows collection.
        Dim row As GridViewRow = GridView1.Rows(index)

        ' Add code here to add the item to the shopping cart.

    End If
End Sub

非常感谢任何帮助。还有什么是将行中的值从后面的代码传递到不同的Web表单的最佳方法?

1 个答案:

答案 0 :(得分:1)

你忘了报名参加活动。请参见此处的最后一行:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
    AllowSorting="True" DataSourceID="SqlDataSource1" 
    PageSize="100" AutoGenerateColumns="False"
    OnRowCommand="GridView1_RowCommand">