从网格视图获取到另一页的值
本文关键字:一页 网格 视图 获取 | 更新日期: 2023-09-27 18:34:25
我在一页中有一个网格视图,如下所示。
<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>
现在,当用户同时选中复选框时,我希望将 PatientId 从网格视图插入到另一个页面中,并且进一步我想将 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;
}
}
}
你为什么不试试这个??
Session ["PatientID"] = YoureGridView.SelectedRow.Cells[indexOfPatientID].Text;
通过这个 PatientID 的值在会话中,当转到其他页面时,您可以使用
Int PatientID = Convert.Toint16(Session["PatientID"]);
或者,如果它是一个字符串
string PatientID = Session["PatientID"].ToString();
好吧,我猜是因为您没有提供足够的信息,但如果我要将数据传输到另一个网页,这就是我的编码方式
为了插入 SQL 并假设其 TSQL,我使用类似的东西
SqlCommand Update = new SqlCommand();
Update.Connection = YourConnection;
Update.CommandType = CommandType.StoredProcedure;
Update.CommandText = "usp_YoureStoredProcedure";
Update.Parameters.AddWithValue("@id", Convert.Toint16(Session["PatientID"])); //the convert varies on what data type you are using this is just an example
好吧,如果您想要更明确的答案,请尝试发布或告诉我们更多,这只是示例。