PDA

View Full Version : مقداری دهی عجیب session در mvc



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 ساختم و درست شد.

دوستان اگه کسی علتش و می دونه لطف کنه بگه.

با تشکر

parvizwpf
دوشنبه 17 تیر 1392, 22:04 عصر
خب اون چیزی که شما ساختی و میگی اکشن، اصلا اکشن نیست. کجاش اکشنه؟ داره ویو برمیگردونه؟ چه انتظاری از سشن داشتید شما دارید فقط با جی کوئری یه متد رو فراخوانی میکنید. همین.

pooria2c
سه شنبه 18 تیر 1392, 13:48 عصر
خب اون چیزی که شما ساختی و میگی اکشن، اصلا اکشن نیست. کجاش اکشنه؟ داره ویو برمیگردونه؟...

دوست عزیز من با اکشن هم تست کردم نشد!!!! حالا چه فرقی می کنه مهم اینه تست کردم جواب نمیده!!!!! (غلط املایی رو بی خیال).