У меня есть сетка в одной странице, как показано ниже.Получить значение от Gridview на другой странице
<asp:GridView ID="gvDoctorList" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"
AllowPaging="True" AllowSorting="True" AutoGenerateEditButton="true" AutoGenerateDeleteButton="true">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox runat="server" ID="chk" OnCheckedChanged="chk_CheckedChanged" />
<asp:Label runat="server" ID="lblPID" Visible="false" Text='<%# Eval("PatientId") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="PatientId" HeaderText="PatientId" SortExpression="PatientId" />
<asp:BoundField DataField="firstname" HeaderText="firstname" SortExpression="firstname" />
<asp:BoundField DataField="lastname" HeaderText="lastname" SortExpression="lastname" />
<asp:BoundField DataField="sex" HeaderText="sex" SortExpression="sex" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyDatabaseConnectionString %>"
SelectCommand="SELECT [PatientId],[firstname], [lastname], [sex] FROM [PatientDetails]"></asp:SqlDataSource>
Теперь, когда проверка пользователя на CheckBox то же время я хочу PatientId из GridView в другую страницу и дальше, я хочу, чтобы вставить PatientId в SQL таблицу.
Спасибо много, если кто-то дать мне код
* ОБНОВЛЕНО :: *
Мой Page_Load код
if (!IsPostBack) {
foreach (GridViewRow row in gvDoctorList.Rows)
{
CheckBox chk = (CheckBox)row.FindControl("chk");
if (chk.Checked)
{
string patientId = ((Label)row.FindControl("lblPID")).Text;
string exam = ((Button)sender).Text;
Session[patientId] = patientId;
}
}
}
Поместите этот родительский идентификатор в переменную сеанса и используйте его на следующей странице/в качестве альтернативы вы можете передать его как строку запроса при переходе на другую страницу :) – Rex
где поставить сеанс в pageload? – Pratik
вы можете использовать сеанс использования в любом месте, где в соответствии с вашим использованием – Rex