在按钮上单击“隐藏场”中存储边界值



我在将隐藏场的值设置为GridView项目值时遇到了麻烦。我要做的是在gridview中获取边界的值(在这种情况下," fipscountycode"),然后在用户单击按钮(在这种情况下," btnedit")时将其存储在隐藏场中进入网格。我以前从未使用过Hidden Fields,所以我忘记了在这里做什么。

隐藏场是这样的设置:

<asp:HiddenField ID="hdnFIPS"  Value='<%#Eval("FIPSCountyCode")%>' runat="server" />

这就是GridView的设置,例如:

<asp:GridView ID="CountyList" runat="server" AutoGenerateColumns="False" Width="90%" SkinId="PagedList" PagerSettings-Position="TopAndBottom" PagerStyle-Wrap="True">            
    <Columns>
        <asp:BoundField HeaderText="County Code" DataField="FIPSCountyCode" />
        <asp:BoundField HeaderText="State Code" DataField="StateCode" />
        <asp:BoundField HeaderText="County Name" DataField="CountyName" />
        <asp:BoundField HeaderText="Tax Rate" DataField="TaxRate" />
        <asp:TemplateField>
            <ItemTemplate>
                <asp:ImageButton ID="btnEdit" runat="server" SkinID="EditIcon" OnClick="EditInfo" CommandName="DoEdit" />
                <asp:ImageButton ID="DeleteButton" runat="server" SkinID="DeleteIcon" CommandName="DoDelete" 
                                 OnClientClick="return confirm('Are you sure you want to remove this item and all of its options?')" 
                                 CausesValidation="false"  /> 
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    <AlternatingRowStyle CssClass="even" />
</asp:GridView>

这是背后的代码:

public partial class Admin_County_Info : CommerceBuilder.UI.AbleCommerceAdminPage
{
    private string redirectString = String.Empty;
    protected void Page_Load(object sender, System.EventArgs e)
    {
        if (!Page.IsPostBack)
            PopulateCountyGrid();
    }
    protected void PopulateCountyGrid()
    {
        try
        {
            System.Data.SqlClient.SqlDataReader dr = null;
            using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["AbleCommerce"].ToString()))
            {
                SqlCommand cmd = new SqlCommand("SELECT [FIPSCountyCode], [StateCode], [CountyName], [TaxRate] FROM [baird_InfoCounty]", cn);
                cmd.CommandType = CommandType.Text;
                cn.Open();
                dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                CountyList.DataSource = dr;
                CountyList.DataBind();
            }
        }
        catch (Exception eX)
        {
        }
    }
    #region Clicks and Event Handlers
    protected void EditInfo(object sender, System.EventArgs e)
    {
        if (Page.IsValid)
        {
            redirectString = "~/Admin/Taxes/AddEditCountyInfo.aspx?FIPSCountyCode=" + hdnFIPS.Value;
            Response.Redirect(redirectString);
        }
    }
    protected void AddInfo(object sender, System.EventArgs e)
    {
        if (Page.IsValid)
        {
            Response.Redirect("~/Admin/Taxes/AddEditCountyInfo.aspx");
        }
    }
}

这一定是一个非常愚蠢的问题,但我真的不确定如何进行。任何帮助都很棒!

您可以从Boundfield获得FIPSCountyCode的值:

protected void EditInfo(object sender, System.EventArgs e)
{
    if (Page.IsValid)
    {
        GridViewRow gvr = ((ImageButton)sender).NamingContainer as GridViewRow;
        hdnFIPS.Value = gvr.Cells[0].Text;
        redirectString = "~/Admin/Taxes/AddEditCountyInfo.aspx?FIPSCountyCode=" + hdnFIPS.Value;
        Response.Redirect(redirectString);
    }
}

相关内容

  • 没有找到相关文章

最新更新