با سلام و درود فراوان خدمت استاد ارجمند و ارزشمند جناب مدائنی
در کنترل WEBAPI را ساختهام در پروژه MVC
اکنون میخواهم با استفاده از Name مقدار ID را بگیرم
public United GetByID(int id) { return db.Uniteds.Find(id); }
با تابع فوق ID گرفته می شود و Name را برمیگرداند
اکنون میخواهم Name گرفته شود و ID برگردانده شود
لطفا راهنمایی بفرمایید در صورت ممکن
با سپاس فراوان
ضمنا راهنمایی بفرمائید که اگر بخواهیم MVC را به صورت حرفهای مسلط شویم به همراه WebApi
نیاز به کلاس حضوری است؟
اگر به دوره حضوری است کدام دوره را میبایست نزد شما طی کنیم؟
باز هم تشکر از محبت بی دریغ شما
سلام
public United GetByID(int id) { return db.Uniteds.Find(id).Name; }
خیر نیازی به دوره حضوری نیست
میتونید از دوره های زیر استفاده کنید
ساخت SPA در MVC با Ajax و Web Api
من دقیقا بر عکس همین کدی رو که فرمودین میخوام
در واقع چیزی که من میخوام کد زیر هستش اما ویژوال استودیو ارور میگیره
public United GetByUnitedName(string UnitedName) { return db.Uniteds.Find(UnitedName).ID; }
public United GetByUnitedName(string UnitedName) { return db.Uniteds.First(u=>u.Name == UnitedName).ID; }
متاسفانه با همان ارور قبلی که در تصویر مشاهده میکنید رو به رو شدم
خروجی متد از نوع United است و نمیتوانید ID برگردانید
نوع خروجی را int بزارید
ارور برطرف شد
اما ID را برنمی گرداند
در واقع تمام جدول United را برمی گرداند
استاد با کمی فشار به مغز به این نتیجه رسیدم که توسط حلقه به نتیجه برسم که موفقیت آمیز بود
اما یک مشکل دیگری که دارم این است که کد گاهی اوقات کار نمیکند
و چند با باید کلیک کنم تا نتیجه نمایش داده شود؟؟؟
$("#drlCityP option").remove(); var idUnited; $.getJSON("/API/United" , function (res) { $.each(res, function (key, val) { if (val.UnitedName == $("#drlUnitedP option:selected").text()) { idUnited = val.ID; } }); }); $.getJSON("/API/City", function (res) { $.each(res, function (key, val) { if (val.IDUnited == idUnited) { $("#drlCityP").append("<option>" + val.CityName + "</option>"); } }); });
درست می فرمائید متاسفانه به طولانی شدن جدول در آینده فکر نکرده بودم
روشی که جناب مدائنی فرمودند نتونستم خزوجی بگیرم متاسفانه
به نظر میاد تجربه کمی روی web api دارید
اون آموزش ها که قرار دادم رو لطفا مشاهده فرمائید
استاد سپاس از آموزش های عالی تون
من اصلا تجربه ای از web apiنداشتم و با وب فرم کار می کردم
در یک پروژه از شما مشورت کردم و شما web api رو به جای webform پیشنهاد کردید
که واقعا mvc +webapi واقعا به مراتب قویتر و پر سرعت تر و ساده به نظر سادهتر است
هر دو ویدیو رو کامل دیدم و سپاس بینهایت را از شما دارم
چون من رو با مسئلهای آشنا کردید که برای من به راه تازهای تبدیل شده است.
نکته ای که فرمودید
خروجی متد از نوع United است و نمیتوانید ID برگردانید
نوع خروجی را int بزارید
باعث برطرف شدن ارور شد اما نتوانستم خروجی بگیرم
البته شاید نتوانستم تابع رو فراخوانی کنی
کد تابع در کنترولر
public int GetByUnitedName(string UnitedName) { return db.Uniteds.First(u=>u.UnitedName == UnitedName).ID; }
من با دستور زیر تابع رو فراوانی کردم
$.getJSON("/API/United/"+"تهران",
که انتظار من این بود با این کد بتوانم ID استان تهران را بدست آورم
اما متاسفانه موفق نشدم
استاد ممنون که شاگرد کم تجربهای مثل من رو تحمل میکنید
سپاس از حوصله و توجه شما
یه نکتهای یادم افتاد
علت اینکه به اون تابع نیاز دارم این هستش که یک فیل از اطلاعاتی که میخواهم نمایش دهم در یک جدول دیگر است
در ویدیو آموزشی استاد مدائنی این نکته اشاره نشده بود
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)