PDA

View Full Version : نوع یک تیبل در مدلویو



sara_t
یک شنبه 10 اردیبهشت 1396, 23:29 عصر
سلام دوستان

من میخام مقدار یه storeprocedure رو که یه ردیف برمیگردونه به یه مدل پاس بدم و در ویو نشون بدم.
ممنون میشم راهنمایی کنید:


model.Test= db.GetTestId(Testid);

باید در مدل نوع تست رو چطور تعریف کنم؟

alireza_s_84
دوشنبه 11 اردیبهشت 1396, 05:32 صبح
سلام دوستان

من میخام مقدار یه storeprocedure رو که یه ردیف برمیگردونه به یه مدل پاس بدم و در ویو نشون بدم.
ممنون میشم راهنمایی کنید:


model.Test= db.GetTestId(Testid);

باید در مدل نوع تست رو چطور تعریف کنم؟
تابع db.GetTestId چی برمیگردونه؟ آیا با دستورات Ado.Net نتیجه SP گرفته میشه؟

sara_t
دوشنبه 11 اردیبهشت 1396, 08:52 صبح
gettestid یک استور پروسیجر هست به صورت زیر:


ALTER PROCEDURE [dbo].[GetFoodId]
(@foodid int)
AS
BEGIN
SELECT
*

FROM [dbo].[Foods]
where [Id]=@foodid


من این پروسیجر رو فقط بصورت ویزارذی به برنامه اضافه کردم.

بعد یه ویو مدل نوشتم بصورت زیر:

public class FoodViewModel
{
public List<System.Web.Mvc.SelectListItem> List { get; set; }

public Foods.Models.DomainModels.Food Food { get; set; }

}

اینم از متد من :

public ActionResult FoodDetail(int FoodId)
{
var model = new FoodViewModel();
List<System.Web.Mvc.SelectListItem> items = new List<System.Web.Mvc.SelectListItem>();
var list = db.GetFoodStuff(FoodId);
foreach (var item in list)
{
items.Add(new System.Web.Mvc.SelectListItem
{
Text = item.ToString(),
});
}
model.List = items;
model.Food = db.GetFoodId(FoodId);

return View(model);
}


که روی خط model.Food = db.GetFoodId(FoodId); ارور سینتکسی دارم.نمیدونم چظور باید این ارور رو برطرف کنم ممنون.

متن ارور:

Error 1 Cannot implicitly convert type 'System.Data.Objects.ObjectResult<Foods.Models.DomainModels.Food>' to 'Foods.Models.DomainModels.Food'

siamak8982
دوشنبه 11 اردیبهشت 1396, 09:05 صبح
سلام
برای رفع این خطا Listfood رو به ویومدل Foods.ViewModels.Home.FoodViewModel اضافه کنید


با (http://2mim.net)تشکر

sara_t
دوشنبه 11 اردیبهشت 1396, 09:45 صبح
بازم ارور داره من متن ارور و کد رو ویرایش میکنم ممنون

alireza_s_84
دوشنبه 11 اردیبهشت 1396, 11:31 صبح
به متد GetFoodId در انتها FirstOrDefault() رو اضافه کنید تا نتیجه رو بصورت Food برگردونه.

sara_t
دوشنبه 11 اردیبهشت 1396, 11:43 صبح
بله درست شد.یه دنیا ممنون:تشویق::تشویق::تشویق::ت ویق::تشویق: