ورود

View Full Version : استفاده از Ajax برای Like یک متن



SianiD
شنبه 12 مرداد 1392, 01:35 صبح
سلام دوستان من دو تا صفحه دارم که کامنت هاش لایک میخورن ، اینکارو با ایجکس انجام دادم اما داخل یکی از صفحات انجام میشه داخل یکی دیگه به یک تابع دیگه هدایت میشه ، راه درست این کار چیه ؟

parvizwpf
شنبه 12 مرداد 1392, 01:45 صبح
آخه دقیق بگید توی این صفحه با اون صفحه چطور میخواید پیلده سازی کنید ؟ با هم فرق داره؟ یعنی به یه تابع دیگه هدایت میشه؟ کد بدید.

SianiD
شنبه 12 مرداد 1392, 01:52 صبح
این کد view :

$("#Like").click(function () {
$.ajax({
url: "/api/MyApi",
data: { name: $("#newlike").val(), id: $("#CmId").val(), s: true },
type: "GET"
}).done(function (result) {
//alert(result);
$("#newlike").val(result);
});
});


$("#unlike").click(function () {
$.ajax({
url: "/api/MyApi",
data: { name: $("#newunlike").val(), id: $("#CmId").val(), s: false },
type: "GET"
}).done(function (result) {
//alert(result);
$("#newunlike").val(result);
});
});


این کد apicontroller :


public string Get(int name, int id,bool s)
{

ProComment procomment = db.ProComments.Find(id);
int c= Convert.ToInt32(name);
c++;
if (s == true)
{
procomment.LikeIt = c;
}
else
{
procomment.Dislike = c;
}

procomment.Email = procomment.Email;
procomment.CmBody = procomment.CmBody;
db.Entry(procomment).State = EntityState.Modified;

db.SaveChanges();
return c.ToString();


}

parvizwpf
شنبه 12 مرداد 1392, 01:54 صبح
کجا بهش میفهمونید گت رو اجرا کنه؟ کل کد کنترلر همینه؟

SianiD
شنبه 12 مرداد 1392, 02:17 صبح
والا MVC باهوشه خودش میفهمه :لبخند: ، من فقط آدرس Api رو بهش میدم اسم تابع رو هم گت میزارم

parvizwpf
شنبه 12 مرداد 1392, 02:20 صبح
درسته من اشتباه کردم هواسم به ای پی آی نبود.
منظورم اینه توی کنترلرت شاید تابع هم نام داری هان؟ کدوم تابع رو اجرا میکنه؟

SianiD
شنبه 12 مرداد 1392, 02:26 صبح
نگاه تو یک صفحه کامل و بی نقص اجرا میشه اما تو یه صفحه دیگه همین کد با همون پارامتر ها میره تو یه تابع که مقدار ورودیش اینه :


public IEnumerable<string> Get()

parvizwpf
شنبه 12 مرداد 1392, 02:31 صبح
اسم تابع رو عوض کنی چی؟

SianiD
شنبه 12 مرداد 1392, 02:32 صبح
اشتباه از خودم بود ، یکی از پارامتر ها کپی نکرده بودم اشتباها . اینم از مشکلات کپی پست

$("#CmId").val()

رو گذاشته بودم تو یه Hidden Field بعد یادم رفته بود کپیش کنم