Dhanashri_G Ответов: 5

Я хочу перенести выбранные данные из gridview в другую веб-форму


Привет,

Я использую gridview с 10 столбцами, и в этом я создал одну гиперссылку для одного столбца, то есть patientID. Когда я нажимаю на эту гиперссылку, все данные должны быть перенесены на следующую веб-форму, то есть на страницу OPD.aspx. В этом OPD.aspx у меня есть textbox и dropdownlist, и выбранные данные ссылки gridview должны быть перенесены в эти textbox и dropdownlist.


Из Поисковика.aspx в ОПД.aspx-файл


Заранее спасибо

Mahesh Bailwal

Вы думали об использовании Asp.Net объект сеанса. Где вы можете сохранить значение на одной странице и извлечь его на любой другой странице?

Dhanashri_G

Я уже думал об этом. Но я хочу выбрать содержимое из gridview, и после его выбора данные должны быть видны на другой веб-странице.

PoojaGahlaut

Самый простой способ сделать это-использовать переменные сеанса. Строка запроса может быть использована, если данные не являются чувствительными. Или попробуйте создать класс сущностей для пациента и создать сеанс из объекта класса пациента.

5 Ответов

Рейтинг:
43

thatraja

Вы можете использовать
строка запроса
Cookies
Переменные сессий
Сервер.Перемещение
Post Back URL


Передача данных/параметров/значений с одной страницы aspx на другую страницу aspx[^]
Передача значений с одной страницы на другую – ASP.NET[^]


Рейтинг:
35

chitransh635

создать кнопку-ссылку на этот

<asp:linkbutton id="LinkButton1" runat="server" postbackurl="<%#"~/Guest/Default.aspx?id="+Eval("patientID") %>">Add To Cart</asp:linkbutton>

затем на следующей странице вы можете получить это значение по идентификатору метки при загрузке страницы следующим образом
string id = Request.QueryString["id"];

теперь передайте этот идентификатор в свой запрос, а затем извлеките свое значение в текстовом поле и выпадающем списке


Рейтинг:
21

Member 10186638

Используйте строку запроса,ниже приведен некоторый код для этого, возможно, он вам поможет...

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
           GridViewRow row = GridView1.SelectedRow;
           StringBuilder pageUrl = new StringBuilder();

           pageUrl.Append("Demo.aspx?Survey=");
           pageUrl.Append(row.Cells[1].Text);
           pageUrl.Append("&SubSurvey=");
           pageUrl.Append(row.Cells[2].Text);
           pageUrl.Append("&Name=");
           pageUrl.Append(row.Cells[3].Text);
           pageUrl.Append("&Contact=");
           pageUrl.Append(row.Cells[4].Text);
           pageUrl.Append("&UserID=");
           pageUrl.Append(row.Cells[5].Text);

           Response.Redirect(pageUrl.ToString());
}


Рейтинг:
12

ErBhati

create a link button in gridview
 
<asp:linkbutton id="LinkButton1" runat="server" postbackurl="<%#"~/OPD.aspx?Id="+Eval("patientID") %>">;/asp:linkbutton>
then on OPD page you can retrieve this value of Id on page load like this

string id = Request.QueryString["Id"];

now pass this id in your query and then retrieve your all data from table and fill it in text box and dropdown


Рейтинг:
1

Member 14156707

Во-первых.aspx-файл.в CS
сделать PostBackUrl="~/Second.aspx"

  if (dataTable.Rows.Count > 0)
                    {
                        for (int i = 1; i <= dataTable.Rows.Count; i++)
                        {
                            dataRow = dataTable.NewRow();
                            dataRow["UID"] = TextBox3.Text;
                            dataRow["Article"] = HiddenField1.Value;
                            dataRow["Description"] = DropDownList1.SelectedValue;
                            dataRow["Qty"] = TextBox5.Text;
                            dataRow["Total"] = TextBox7.Text;
                            dataRow["Quantity"] = TextBox6.Text;
                            dataRow["Order Qty"] = TextBox8.Text;
                            dataRow["Grade"] = TextBox9.Text;
                            dataRow["Model"] = TextBox10.Text;
                            dataRow["OD"] = TextBox11.Text;
                            dataRow["Length"] = TextBox12.Text;
                            dataRow["ID"] = TextBox13.Text;
                        }
                        if (dataTable.Rows[0][0].ToString() == "")
                        {
                            dataTable.Rows[0].Delete();
                            dataTable.AcceptChanges();
                        }
                        ViewState["order"] = dataTable;
                        GridView1.DataSource = dataTable;
                        dataTable.Rows.Add(dataRow);
                        GridView1.DataBind();

                        Session["order"] = dataTable;

Second.aspx.cs

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                System.Data.DataTable dt = (System.Data.DataTable)Session["order"];
                GridView1.DataSource = dt;
                GridView1.DataBind();
            }

        }


Richard Deeming

Не добавляет ничего, что уже не было охвачено в четырех принятых решениях.