我怎么能像评论那样保持链接?

时间:2013-03-14 08:55:46

标签: c# asp.net

好的我明白问题不是那个具体但我会解释。 我在一个网站上工作,人们可以在这个网站上就可能对他们重要的问题投票,他们也可以在写下自己的想法后发表意见。问题是,人们可以喜欢别人给出的评论,我不是在谈论喜欢Facebook,因为人们不得不唱歌使用网站,我已经创建了一个按钮和喜欢的功能。但是,一旦你喜欢评论,你就不能再喜欢它,而且没有什么不同。如果你再次点击一个msgbox出现,告诉你你已经喜欢这个。现在的问题是,如果您喜欢它一次,当msgbox出现时,网站的网址会发生变化,当您甚至尝试其他内容或尝试投票时,它会显示msgbox“您已经喜欢这个!”

之前的网址:         http://www.somesite.com/home/boduvanje?opstina_id=35 网址后:         http://www.somesite.com/home/boduvanje?opstina_id=35&odgovor_id=28

对长篇描述嗤之以鼻,但我认为更多的话会有所帮助。

继承人之类的功能:

    public ActionResult boduvanje(int opstina_id, int odgovor_id)
    {
        Session["id_momentalno"] = opstina_id;
        var ops = Convert.ToInt32(Session["id_momentalno"]);
        var log = Convert.ToInt32(Session["logiran"]);
        ViewData["log"] = log;


        if (log == 1 )
        {
            int users_id = mor.FindUser_IdByUserName(Session["userName"].ToString());
            if (mor.FindRezultatIdByUserId(users_id) & mor.FindRezultatIdByOdgovorId(odgovor_id))
            {
                Response.Write("<html><div id='msg1' onclick='message();'><div class='response' id='response_msg'>Веќе сте лајкнале! Немате право повторно !</div></div></html>");
                var lista = mor.FindAllData(opstina_id).ToList();
                return View("About", lista);


            }
            else
            {
                rezultati rez = new rezultati();
                rez.opstina_id = opstina_id;
                rez.odgovor_id = odgovor_id;
                int id = mor.FindUser_IdByUserName(Session["userName"].ToString());
                rez.user_id = id;
                mor.AddRezultati(rez);
                mor.Save();
                var lista = mor.FindAllData(opstina_id).ToList();
                return View("About", lista);
            }
        }
        else
        {

            Response.Write("<html><div id='msg1' onclick='message();'><div class='response' id='response_msg'>Не сте логирани !</div></div></html>");
            var lista = mor.FindAllData(opstina_id).ToList();
            return RedirectToAction("LogOn", "Account");

        }

    }

按钮所在的asp文件中的代码如下:

    <div class="like_button" id= "like_button" ><a href="/home/boduvanje?opstina_id=<%:Session["opstina_id"]%>&odgovor_id=<%: tcm.odgovor_id %>"><img src="/images/btn_dopaga.png" alt="like" /></a></div>

提前感谢您,告诉我是否应该发布更多信息或其他内容:)

1 个答案:

答案 0 :(得分:0)

为了实现此逻辑,您必须在数据库中更新类似状态以及replayId。单击该按钮,您可以调用Web服务以获取类似的状态。然后你可以在javascript中给出消息。通过使用Web服务,它也不会影响性能。您可以跟踪所有答案和问题的每个类似状态。

保持会话状态不是一个好主意。