好的我明白问题不是那个具体但我会解释。 我在一个网站上工作,人们可以在这个网站上就可能对他们重要的问题投票,他们也可以在写下自己的想法后发表意见。问题是,人们可以喜欢别人给出的评论,我不是在谈论喜欢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>
提前感谢您,告诉我是否应该发布更多信息或其他内容:)
答案 0 :(得分:0)
为了实现此逻辑,您必须在数据库中更新类似状态以及replayId。单击该按钮,您可以调用Web服务以获取类似的状态。然后你可以在javascript中给出消息。通过使用Web服务,它也不会影响性能。您可以跟踪所有答案和问题的每个类似状态。
保持会话状态不是一个好主意。