pooria2c
یک شنبه 16 تیر 1392, 21:50 عصر
سلام دوستان، یه مشکل خیلی جالب هنگام کار با session توی mvc برخورد کردم!!!! (که فهمیدم از کجائه)
گفتم بگم شاید جالب باشه، و کسی بتونه علتش و دربیاره!!!!
من یه Action به صورت زیر دارم :
public void TestAction(int intInput)
{
if (Session["TestSession"] == null)
{
Session["TestSession"] = intInput;
}
else
{
System.Windows.Forms.MessageBox.Show(Session["TestSession"].ToString());
}
}
و من این Action و از طریق کدهای jQuery به صورت زیر فراخوانی می کنم :
function TestFunc(pid) {
$.ajax({
type: "POST",
url: '@Url.Action("TestAction", "Home")',
data: {
intInput: pid
},
success: function (data) {
},
error: function (data) {
}
});
}
و همچنین این تابع جاوا اسکریپت رو از طریق دکمه زیر فراخوانی کردم!!!
<input type="button" value="Click me" onclick="TestFunc()" />
موقعی که این Action فراخوانی میشد، خوب مسلماً Session مقدار null رو داشت ولی موقعی که بار دوم هم بر روی دکمه کلیک می کردم باز هم مقدار null داشت، ولی از دفعه سوم به بعد Session مقدار می گرفت. (بعد از فراخوانی Action از دفعه دوم به بعد به Session مقدار می داد، حالا علتش و نمی دونم چی بود؟؟:متفکر::متفکر::متفکر::م فکر:)
و واسه رفع این مشکل فقط خروجی Action رو به ActionResult تغییر دارم و واسه این Action یه View ساختم و درست شد.
دوستان اگه کسی علتش و می دونه لطف کنه بگه.
با تشکر
گفتم بگم شاید جالب باشه، و کسی بتونه علتش و دربیاره!!!!
من یه Action به صورت زیر دارم :
public void TestAction(int intInput)
{
if (Session["TestSession"] == null)
{
Session["TestSession"] = intInput;
}
else
{
System.Windows.Forms.MessageBox.Show(Session["TestSession"].ToString());
}
}
و من این Action و از طریق کدهای jQuery به صورت زیر فراخوانی می کنم :
function TestFunc(pid) {
$.ajax({
type: "POST",
url: '@Url.Action("TestAction", "Home")',
data: {
intInput: pid
},
success: function (data) {
},
error: function (data) {
}
});
}
و همچنین این تابع جاوا اسکریپت رو از طریق دکمه زیر فراخوانی کردم!!!
<input type="button" value="Click me" onclick="TestFunc()" />
موقعی که این Action فراخوانی میشد، خوب مسلماً Session مقدار null رو داشت ولی موقعی که بار دوم هم بر روی دکمه کلیک می کردم باز هم مقدار null داشت، ولی از دفعه سوم به بعد Session مقدار می گرفت. (بعد از فراخوانی Action از دفعه دوم به بعد به Session مقدار می داد، حالا علتش و نمی دونم چی بود؟؟:متفکر::متفکر::متفکر::م فکر:)
و واسه رفع این مشکل فقط خروجی Action رو به ActionResult تغییر دارم و واسه این Action یه View ساختم و درست شد.
دوستان اگه کسی علتش و می دونه لطف کنه بگه.
با تشکر