伊莉討論區
標題:
多頁面存取同Session問題
[打印本頁]
作者:
ggnnyy
時間:
2016-5-21 03:49 PM
標題:
多頁面存取同Session問題
本帖最後由 ggnnyy 於 2016-5-21 03:57 PM 編輯
各位大大好:
如下面程式,如果將每次部分檢視用ajax執行時,session的值就加1,
在下面情況如果同一個瀏覽器開N個此頁面,那每次顯示的session的值就會加N,
像此類型況,我有辦法限制這個頁面不能重複開啟,
或者是其他什麼方法讓開多個同頁面時顯示的session還是累加1而已嗎?
Controller:
public ActionResult Index()
{
Session["aaa"] = 1;
return View();
}
public ActionResult PartialIndex()
{
Session["aaa"] = int.Parse(Session["aaa"].ToString()) + 1;
ViewBag.ii = Session["aaa"];
return PartialView();
}
複製代碼
View:
<div id="adiv">
@Html.Action("PartialIndex", "Home")
</div>
<script>
setInterval(function () {
$.ajax({
url: '@Url.Action("PartialIndex", "Home")',
success: function (result) {
$("#adiv").html(result);
}
});
}, 3000);
</script>
複製代碼
作者:
Semisphere
時間:
2017-1-30 01:51 PM
可以由前端產生類似GUID的隨機不重複字串,並傳到後端塞入session的指定key中,由session判斷該key是否有多value。
再來若是要統計(只累加1)的需求,就只要判斷session該key是否有東西,有就得1,無就0;若是要限定前端只能允許單開,後端傳資料前先判斷session該key是否有東西,有則吐禁止多開訊息或空資料,若無則吐對應訊息或資料即可。
歡迎光臨 伊莉討論區 (http://a401.file-static.com/)
Powered by Discuz!