Asp.net 将列表绑定到GridView并更新GridView

Asp.net 将列表绑定到GridView并更新GridView,asp.net,c#-4.0,Asp.net,C# 4.0,在我的页面中,我使用列表绑定一个GridView。我的页面上有不同的字段,并将这些字段值存储到列表中,然后用网格绑定它 它运行良好,但现在我想使用Gridview中的复选框更新Gridview,单击复选框时,该行中的关联值将出现在不同的字段中,单击保存按钮时,Gridview将被更新 我不知道该怎么办 我的代码示例如下所示: aspx <table class="tblPopUp"> <tr> <td> <

在我的页面中,我使用列表绑定一个GridView。我的页面上有不同的字段,并将这些字段值存储到列表中,然后用网格绑定它

它运行良好,但现在我想使用Gridview中的复选框更新Gridview,单击复选框时,该行中的关联值将出现在不同的字段中,单击保存按钮时,Gridview将被更新

我不知道该怎么办

我的代码示例如下所示:

aspx

<table class="tblPopUp">
    <tr>
        <td>
            <asp:Label ID="lblCaste" CssClass="Label" runat="server" Text="Caste"></asp:Label>
        </td>
        <td>
            <asp:DropDownList ID="ddlCaste" runat="server" CssClass="Dropdownlist myddlinPopUp"></asp:DropDownList>
        </td>
    </tr>
    <tr>
        <td>
            <asp:Label ID="lblNo_OfPosition" CssClass="Label" runat="server" Text="No Of Position"></asp:Label>
        </td>
        <td>
            <asp:TextBox ID="txtNoOfPositioninPopUp" runat="server" CssClass="TextBox mytextboxinPopUp"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td>
            <asp:Label ID="lblMinAge" CssClass="Label" runat="server" Text="Min Age"></asp:Label>
        </td>
        <td>
            <asp:TextBox ID="txtMinAge" runat="server" CssClass="TextBox mytextboxinPopUp"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td>
            <asp:Label ID="lblMaxAge" CssClass="Label" runat="server" Text="Max Age"></asp:Label>
        </td>
        <td>
            <asp:TextBox ID="txtMaxAge" runat="server" CssClass="TextBox mytextboxinPopUp"></asp:TextBox>
        </td>
    </tr>
    <tr>                    
        <td>
            <asp:Button ID="btnSaveInPopUpReservation" runat="server" CssClass="button" Text="Save" OnClick="btnSaveInPopUpReservation_Click" />
        </td>
    </tr>
</table>
<asp:GridView ID="gridReservationDetails" runat="server" GridLines="Both" AutoGenerateColumns="false" CssClass="gridview" ShowHeaderWhenEmpty="true">
    <Columns>
        <asp:TemplateField HeaderStyle-HorizontalAlign="Left">
            <HeaderTemplate>
                <asp:CheckBox ID="checkAll" runat="server" onclick="checkAll(this);" />
            </HeaderTemplate>
            <ItemTemplate>
                <asp:CheckBox ID="CheckBox1" runat="server" onclick="Check_Click(this)" />
            </ItemTemplate>
            <HeaderStyle Font-Bold="False" />
            <ItemStyle Font-Bold="False" />
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Sl. No" HeaderStyle-HorizontalAlign="Left" ItemStyle-CssClass="item">
            <ItemTemplate>
                <%# Container.DataItemIndex + 1 %>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField HeaderText="Caste" DataField="casteName" ItemStyle-CssClass="item" HeaderStyle-HorizontalAlign="Left" />
        <asp:BoundField HeaderText="No Of Position" DataField="NoOfPosition" ItemStyle-CssClass="item" HeaderStyle-HorizontalAlign="Left" />
        <asp:BoundField HeaderText="Min Age" DataField="MinAge" ItemStyle-CssClass="item" HeaderStyle-HorizontalAlign="Left" />
        <asp:BoundField HeaderText="Max Age" DataField="MaxAge" ItemStyle-CssClass="item" HeaderStyle-HorizontalAlign="Left" />
    </Columns>
</asp:GridView>

aspx.cs

public class CommonHRMS_PositionRequisitionReservationDetails
{
    public int casteID { get; set; }
    public string casteName { get; set; }
    public int NoOfPosition { get; set; }
    public int MaxAge { get; set; }
    public int MinAge { get; set; }
}

protected List<CommonHRMS_PositionRequisitionReservationDetails> FillReservation()
{
    List<CommonHRMS_PositionRequisitionReservationDetails> lst = new List<CommonHRMS_PositionRequisitionReservationDetails>();
    List<CommonHRMS_PositionRequisitionReservationDetails> lstPrevious = new List<CommonHRMS_PositionRequisitionReservationDetails>();
    lstPrevious = (List<CommonHRMS_PositionRequisitionReservationDetails>)Session["cprrd"];
    if (lstPrevious != null)
    {
        CommonHRMS_PositionRequisitionReservationDetails obj = new CommonHRMS_PositionRequisitionReservationDetails();
        obj.casteID = int.Parse(ddlCaste.SelectedValue);
        obj.casteName = ddlCaste.SelectedItem.ToString();
        obj.NoOfPosition = int.Parse(txtNoOfPositioninPopUp.Text);
        obj.MaxAge = int.Parse(txtMaxAge.Text);
        obj.MinAge = int.Parse(txtMinAge.Text);
        lstPrevious.Add(obj);
        Session["cprrd"] = lstPrevious;
        return lstPrevious;
    }
    else
    {
        CommonHRMS_PositionRequisitionReservationDetails obj = new CommonHRMS_PositionRequisitionReservationDetails();
        obj.casteID = int.Parse(ddlCaste.SelectedValue);
        obj.casteName = ddlCaste.SelectedItem.ToString();
        obj.NoOfPosition = Convert.ToInt32(txtNoOfPositioninPopUp.Text);
        obj.MaxAge = Convert.ToInt32(txtMaxAge.Text);
        obj.MinAge = Convert.ToInt32(txtMinAge.Text);
        lst.Add(obj);
        Session["cprrd"] = lst;
        return lst;
    }
}


protected void btnSaveInPopUpReservation_Click(object sender, EventArgs e)
{
    List<CommonHRMS_PositionRequisitionReservationDetails> lst = FillReservation();
    gridReservationDetails.DataSource = lst;
    gridReservationDetails.DataBind();        
}
public class CommonHRMS\u positionrequisionReservationDetails
{
public int castid{get;set;}
公共字符串名称{get;set;}
公共整数NoOfPosition{get;set;}
public int MaxAge{get;set;}
公共int MinAge{get;set;}
}
受保护列表保留()
{
List lst=新列表();
List lstproval=新列表();
lstproverive=(列表)会话[“cprrd”];
如果(lstproval!=null)
{
CommonHRMS_PositionRequisitionReservationDetails obj=新的CommonHRMS_PositionRequisitionReservationDetails();
obj.casteID=int.Parse(ddlcast.SelectedValue);
obj.casteName=ddlcast.SelectedItem.ToString();
obj.NoOfPosition=int.Parse(txtnoofpositionpopup.Text);
obj.MaxAge=int.Parse(txtMaxAge.Text);
obj.MinAge=int.Parse(txtMinAge.Text);
添加(obj);
会话[“cprrd”]=上一个会话;
返回上一个;
}
其他的
{
CommonHRMS_PositionRequisitionReservationDetails obj=新的CommonHRMS_PositionRequisitionReservationDetails();
obj.casteID=int.Parse(ddlcast.SelectedValue);
obj.casteName=ddlcast.SelectedItem.ToString();
obj.NoOfPosition=Convert.ToInt32(txtNoOfPositioninPopUp.Text);
obj.MaxAge=Convert.ToInt32(txtMaxAge.Text);
obj.MinAge=Convert.ToInt32(txtMinAge.Text);
第一次添加(obj);
会话[“cprrd”]=lst;
返回lst;
}
}
受保护的无效BTNSAVEINPOPPUP保留\u单击(对象发送方,事件参数e)
{
List lst=FillReservation();
gridReservationDetails.DataSource=lst;
gridReservationDetails.DataBind();
}
试试这段代码

foreach (GridViewRow row in yourGridViewID.Rows)

{
    CheckBox check = (CheckBox)row.FindControl("CheckBoxName");

    if (check.Checked)
    {
        //Button Event Here
    }
    else
    {
        //Else Part..!
    }
}

你的问题太过分了。“单击复选框时,该行中的关联值出现在不同的字段上,单击“保存”按钮时,应更新网格视图。”您所说的difrent字段是什么意思?这是一个poperty或控件还是弹出窗口?指定。这是formi中的控件“textbox和dropdownlist”,我从textbox和dropdownlist中获取值以填充列表,然后我将列表绑定到网格