View Full Version : سوال: انتقال یک پیام از کنترلر به ویو با کمک ویو دیتا یا ویو بق
  
kamran_14
چهارشنبه 12 اسفند 1394, 15:04 عصر
سلام
برای انتقال یک پیام از کنترلر به ویو از دستور زیر در سمت کنترلر استفاده میکنیم:
ViewData["a"]="hello"
و در سمت ویو مینویسیم:
ViewBag.a
میشه توضیحی در مورد viewData , ViewBag بدید من فقط در همین حد میدونم که برای انتقال data از کنترلر به ویو استفاده میشه.
آیا viewData , ViewBag متغییرند؟
sadeghmosavi539
چهارشنبه 12 اسفند 1394, 16:02 عصر
سلام
برای انتقال یک پیام از کنترلر به ویو از دستور زیر در سمت کنترلر استفاده میکنیم:
ViewData["a"]="hello"
و در سمت ویو مینویسیم:
ViewBag.a
میشه توضیحی در مورد viewData , ViewBag بدید من فقط در همین حد propertyمیدونم که برای انتقال data از کنترلر به ویو ستفاده میشه. 
آیا viewData , ViewBag متغییرند؟
سلام دوست عزیز 
viewbag  و viewdata دو شی پویا (Dynamic Object) هستند . یعنی هیچ گونه property  و متدی درون ان ها وجود ندارد و زمانی که مثلا شما می نویسی 
"Viewbag.Name="reza یک پروپرتی همان لحظه در viewbag به نام Name ایجاد کردی .viewdata  هم دقیقا مثل viewbag است ولی یک تفاوت دارند و ان هم در این است که viewdata یک property به نام model دارد که شما می توانی مقدار یا ابجکت مورد نظرت برای پاس دادن به View استفاده کنی .
وسلام.
امید وارم برات مفید بوده باشه.
kamran_14
چهارشنبه 12 اسفند 1394, 17:10 عصر
من با این اکشن یک آبجکت به سمت ویو میفرستم"
        public ActionResult Index()        {
            userProfile ouserProfile = new userProfile();
            ouserProfile.Username = "kamran_14";
            ouserProfile.Password = "232423423375";
            ouserProfile.UserActive = true;
            ViewData["m1"] = ouserProfile;
            return View();
        }
و در سمت ویو با استفاده از viewData چطوری میتونم مقدار رو بگیرم من با viewBag میتونم (مثلا برای دریافت یوزرنیم در ویو مینویسم=>  userName: @ViewBag.m1.Username) ولی با ViewData نمیتونم
sadeghmosavi539
چهارشنبه 12 اسفند 1394, 17:50 عصر
من با این اکشن یک آبجکت به سمت ویو میفرستم"
        public ActionResult Index()        {
            userProfile ouserProfile = new userProfile();
            ouserProfile.Username = "kamran_14";
            ouserProfile.Password = "232423423375";
            ouserProfile.UserActive = true;
            ViewData["m1"] = ouserProfile;
            return View();
        }
و در سمت ویو با استفاده از viewData چطوری میتونم مقدار رو بگیرم من با viewBag میتونم (مثلا برای دریافت یوزرنیم در ویو مینویسم=>  userName: @ViewBag.m1.Username) ولی با ViewData نمیتونم
باید با عملیات Casting  کارت رو انجام بدی
@foreach (Username a in (Viewdata["m1"] as IEnumerable<Username>)) { <li>@a.Password</li>
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.