我的会话不断变化的原因可能是什么?

时间:2019-08-19 23:27:18

标签: asp.net

我有一个新闻网站,每个新闻在我的数据库表中都有一个ID,我随机选择4个ID,将其标题放在“查看更多”部分中。我通过生成随机行号来选择ID,这是问题是当我单击一个建议的新闻时,我会随机转到另一个新闻!这对我来说毫无意义。奇怪的是,我被带到的另一个随机ID确实存在,但我没有单击。
好色的我注意到了这一点:例如,在“查看更多”部分中,我们有title1-title2-title3-title4,所以我单击title1会带我到另一个我没有点击的随机新闻。.现在,标题中的4个标题“查看更多”部分是不同的,这很正常..现在,当我单击title2时,它将带我到title1中的当前新闻!等等,下次当我单击title1时,它将带我到title2中的当前新闻。我不明白这种关系

我试图在将随机数放入会话中之前将其存储在另一个变量(key1,key2 ..)中,但这仍然是相同的问题。 我也尝试过不刷新页面(我的意思是仅取决于发布的帖子)。 我尝试清除季节,也尝试在存储新闻ID之前将它们全部删除。没有错误消息。

int myrandom1;
int myrandom2;
int myrandom3;
int myrandom4;
string key1;
string key2;
string key3;
string key4;
DataSet ds = new DataSet();

protected void Page_Load(object sender, EventArgs e)
{
    string key=" ";

        key = Session["key"].ToString();


    SqlConnection con = new SqlConnection("Data Source=.; initial catalog=celeblogy; integrated security=true");
    SqlCommand cmd = new SqlCommand("select * from news where id like '" + key + "'", con);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    da.Fill(ds, "new");

    string Titre = ds.Tables["new"].Rows[0][1].ToString();
    Titre = Titre.Replace("*", "'");
    titre.InnerText = Titre;

    string blog = Decode(ds.Tables["new"].Rows[0][2].ToString());

    string[] Blogs;
            blog = blog.Replace("*", "'");
    Blogs = blog.Split('#');


    Literal1.Text = Blogs[0];
    Image1.Attributes["src"] = "pictures/" + key + "1.jpg";

    if (Blogs.Length >= 2)
    {
        Literal2.Text = Blogs[1];
        Image2.Attributes["src"] = "pictures/" + key + "2.jpg";
    }




    cmd = new SqlCommand("select * from news", con);
    da = new SqlDataAdapter(cmd);
    da.Fill(ds, "news");

    Random rnd = new Random();


    myrandom1 =rnd.Next(ds.Tables["news"].Rows.Count-1);
    Image3.ImageUrl = "pictures/" + ds.Tables["news"].Rows[myrandom1][0].ToString()+"1.jpg";
    Label1.Text =ds.Tables["news"].Rows[myrandom1][1].ToString().Replace("*","'");
    key1 = ds.Tables["news"].Rows[myrandom1][0].ToString();


    myrandom2 = rnd.Next(ds.Tables["news"].Rows.Count - 1);
    Image4.ImageUrl = "pictures/" + ds.Tables["news"].Rows[myrandom2][0].ToString() + "1.jpg";
    Label2.Text = ds.Tables["news"].Rows[myrandom2][1].ToString().Replace("*", "'");
    key2 = ds.Tables["news"].Rows[myrandom2][0].ToString();

    myrandom3 = rnd.Next(ds.Tables["news"].Rows.Count - 1);
    Image5.ImageUrl = "pictures/" + ds.Tables["news"].Rows[myrandom3][0].ToString() + "1.jpg";
    Label3.Text = ds.Tables["news"].Rows[myrandom3][1].ToString().Replace("*", "'");
    key3 = ds.Tables["news"].Rows[myrandom3][0].ToString();


    myrandom4 = rnd.Next(ds.Tables["news"].Rows.Count - 1);
    Image6.ImageUrl = "pictures/" + ds.Tables["news"].Rows[myrandom4][0].ToString() + "1.jpg";
    Label4.Text = ds.Tables["news"].Rows[myrandom4][1].ToString().Replace("*", "'");
    key4 = ds.Tables["news"].Rows[myrandom4][0].ToString();


}




protected void LinkButton1_Click(object sender, EventArgs e)
    {
        Session["key"] =key1;
        Response.Redirect(Request.RawUrl);
    }

protected void LinkButton2_Click(object sender, EventArgs e)
{
    Session["key"] = key2;
    Response.Redirect(Request.RawUrl);
}

protected void LinkButton3_Click(object sender, EventArgs e)
{
    Session["key"] = key3;
    Response.Redirect(Request.RawUrl);

}

protected void LinkButton4_Click(object sender, EventArgs e)
{
    Session["key"] = key4;
    Response.Redirect(Request.RawUrl);
}

picture of the see more section

0 个答案:

没有答案