如何使用数据列表中的会话? [英] How to use sessions in datalist ?

查看:42
本文介绍了如何使用数据列表中的会话?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个名为 newest_receipe.aspx 的表单,其中我在数据列表中具有各种带有日期和时间的收据名称,并使用超链接显示收据名称.

I have created one form named newest_receipe.aspx in which i have various receipes name with respective date and time in a data list and receipe names are displayed using hyperlink.

<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1"

        onselectedindexchanged="DataList1_SelectedIndexChanged">
        <ItemTemplate>
              <asp:HyperLink ID="HyperLink20" runat="server" Font-Underline="True" 

                ForeColor="#0000CC" 

                onload="HyperLink20_Load"> <%# Eval("recipe_name") %>  </asp:HyperLink>
              
&nbsp;<asp:Label ID="datetimeLabel" runat="server" Text='<%# Eval("datetime") %>' />
            <br />

        </ItemTemplate>
    </asp:DataList>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server"

        ConnectionString="<%$ ConnectionStrings:ConnectionString %>"

        SelectCommand="SELECT [recipe_name], [datetime] FROM [recipe_details] ORDER BY [datetime] DESC">
    </asp:SqlDataSource>




现在,我希望当我单击任何一个收货名称时,其所有详细信息(收货名称,成分,说明)应显示在名为 receipe_desc.aspx

的另一种表单上

为此,我尝试了下面的代码
newest_receipe.aspx
上编码




Now i want that when i click any one receipe name ,its all details(receipe name,ingredients,instructions) should be displayed on another form named receipe_desc.aspx


for this i tried below code
coding on newest_receipe.aspx

protected void HyperLink20_Load(object sender, EventArgs e)
    {
         Session["h1"] = Eval("recipe_name");
        Response.Redirect("receipedesc.aspx");
    }




并在 receipe_desc.aspx




and on receipe_desc.aspx

 SqlCommand comm;
    SqlConnection conn;
    SqlDataReader reader;
    protected void Page_Load(object sender, EventArgs e)
    {
        conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\project\App_Data\Receipe.mdf;Integrated Security=True;User Instance=True");


        comm = new SqlCommand("SELECT recipe_name " + "WHERE recipe_name= @recipe_name", conn);
        comm.Parameters.Add("@recipe_name", System.Data.SqlDbType.NVarChar,50);
        comm.Parameters["@recipe_name"].Value = Session["h1"];
          
            try
            {
                conn.Open();
                reader = comm.ExecuteReader();
                if (reader.Read())
                {

                    txtreceipeid.Text = reader["recipe_id"].ToString();
                    txtreceipename.Text = reader["recipe_name"].ToString();
                }
                reader.Close();
               
            }
            catch
            {
            }

    }
}



希望你理解我真正想要的东西

现在我得到的错误是
诸如Eval()之类的数据绑定方法只能在数据绑定控制的上下文中使用.

我应该改用什么




receipe_desc.aspx



Hope u understood what i actually want

now error i am getting is
databinding methods such as Eval() can only be used in context of databound control..

what should i use instead




receipe_desc.aspx

<pre lang="cs">protected void HyperLink20_Load(object sender, EventArgs e)
    {
         Session["h1"] = Eval("recipe_name");
        Response.Redirect(&quot;receipedesc.aspx&quot;);
    }</pre>



甚至我都尝试使用编码
作为



even i tried to use coding
as

protected void HyperLink20_Load(object sender, EventArgs e)
 {
     Session["h1"] = HyperLink20.Text;
     Response.Redirect("receipedesc.aspx");
 }




请在此




Pls give your support on this

推荐答案

ConnectionStrings:ConnectionString %> " SelectCommand =" 选择[recipe_name],[datetime]从[recipe_details] ORDER BY [datetime] DESC" < /asp:SqlDataSource >
ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [recipe_name], [datetime] FROM [recipe_details] ORDER BY [datetime] DESC"> </asp:SqlDataSource>




现在,我希望当我单击任何一个收货名称时,其所有详细信息(收货名称,成分,说明)应显示在名为 receipe_desc.aspx

的另一种表单上

为此,我尝试了下面的代码
newest_receipe.aspx
上编码




Now i want that when i click any one receipe name ,its all details(receipe name,ingredients,instructions) should be displayed on another form named receipe_desc.aspx


for this i tried below code
coding on newest_receipe.aspx

protected void HyperLink20_Load(object sender, EventArgs e)
    {
         Session["h1"] = Eval("recipe_name");
        Response.Redirect("receipedesc.aspx");
    }




并在 receipe_desc.aspx




and on receipe_desc.aspx

 SqlCommand comm;
    SqlConnection conn;
    SqlDataReader reader;
    protected void Page_Load(object sender, EventArgs e)
    {
        conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\project\App_Data\Receipe.mdf;Integrated Security=True;User Instance=True");


        comm = new SqlCommand("SELECT recipe_name " + "WHERE recipe_name= @recipe_name", conn);
        comm.Parameters.Add("@recipe_name", System.Data.SqlDbType.NVarChar,50);
        comm.Parameters["@recipe_name"].Value = Session["h1"];
          
            try
            {
                conn.Open();
                reader = comm.ExecuteReader();
                if (reader.Read())
                {

                    txtreceipeid.Text = reader["recipe_id"].ToString();
                    txtreceipename.Text = reader["recipe_name"].ToString();
                }
                reader.Close();
               
            }
            catch
            {
            }

    }
}



希望你理解我真正想要的东西

现在我得到的错误是
诸如Eval()之类的数据绑定方法只能在数据绑定控制的上下文中使用.

我应该改用什么




receipe_desc.aspx



Hope u understood what i actually want

now error i am getting is
databinding methods such as Eval() can only be used in context of databound control..

what should i use instead




receipe_desc.aspx

<pre lang="cs">protected void HyperLink20_Load(object sender, EventArgs e)
    {
         Session["h1"] = Eval("recipe_name");
        Response.Redirect(&quot;receipedesc.aspx&quot;);
    }</pre>



甚至我都尝试使用编码
作为



even i tried to use coding
as

protected void HyperLink20_Load(object sender, EventArgs e)
 {
     Session["h1"] = HyperLink20.Text;
     Response.Redirect("receipedesc.aspx");
 }




请对此提供支持




Pls give your support on this


尝试使用DataBinder.Eval().
Try DataBinder.Eval() instead.


这篇关于如何使用数据列表中的会话?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆