protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["EMConStr"].ConnectionString);
conn.Open();
if (e.CommandName == "AddToCart")
{
int index = Convert.ToInt32(e.CommandArgument);
//how to pass this index to "protected void Save(object sender, EventArgs e)"?
}
conn.Close();
}
protected void Save(object sender, EventArgs e)
{
//label1.text = index
}
.aspx 如下
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="AddButton" runat="server"
CommandName="AddToCart"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
Text="Add to Cart"/>
</ItemTemplate>
</asp:TemplateField>
<asp:ButtonField ButtonType="Button" CommandName="Select" Text="Start"/>
<asp:BoundField DataField="DocNum" HeaderText="DocNum" SortExpression="DocNum" />
<asp:BoundField DataField="ItemName" HeaderText="ItemName" SortExpression="ItemName"/>
</Columns>
我使用 ModalPopupExtender
<asp:Panel ID="pnlAddEdit" runat="server" CssClass="modalPopup" style = "display:none">
<asp:Label Font-Bold = "true" ID = "Label2" runat = "server" Text = "Please Enter Completed Quantity:" ></asp:Label>
<br />
<table>
<tr>
<td colspan="2">
<asp:TextBox ID="txtMcCompletedQty" Width = "225px" MaxLength = "7" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick = "Save" Width = "113px"/>
</td>
<td>
<asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClientClick = "return Hidepopup()" Width = "112px"/>
</td>
</tr>
</table>
</asp:Panel>
<asp:LinkButton ID="lnkFake" runat="server"></asp:LinkButton>
<asp:ModalPopupExtender ID="popup" runat="server" DropShadow="false" PopupControlID="pnlAddEdit" TargetControlID = "lnkFake" BackgroundCssClass="modalBackground"></asp:ModalPopupExtender>
您好,我是 Asp.Net C# 的新手。我可以知道如何将索引值传递GridView1_RowCommand
给 Save 函数吗?我试过Save(int index, object sender, EventArgs e)
但没有运气。
保存按钮功能实际上嵌入在弹出窗口中。因此,当调用 save 函数时,它应该将数量保存到所选 gridview 的行中。这就是为什么我必须从 RowCommand 获取索引。