【MVC】action向view传值

WHAT?

           这篇博客讲的是什么?干货!!不多说了,亲爱的你,往下看吧~希望能给你带来一些收获

    上一篇博客讲到了如何把view上的数据传递给action---请点击文章【MVC】 action方法接收浏览器参数方式,那么后台的数据怎么传回去呢?下面小编来给你分享一下关于传递数据的那些事~~


         

HOW?

       有4种方式来传参,其实在我眼里,只有一种方法。请看下方demo


1、ViewBag

    controller里面的代码:

    

public class ElsaTestController : Controller
    {
        //
        // GET: /ElsaTest/

        public ActionResult Index()
        {

            //1、使用viewBag,动态数据类型
            ViewBag.name = "Elsa's viewbag";
            return View();
        }

    }

    在html里面如何获取?

 

@{
    ViewBag.Title = "Index";
}

<h2>Elsa'test</h2>
<br> @ViewBag.name

              效果:

            


         好了,这篇博客就介绍到这里,下次再见。。

   好吧,其实其他3种方式都一样,可是他们之间有一些微妙的关系,还是让我来为大家揭晓答案吧~


2、ViewData

   controller代码:

   

public ActionResult Index()
        {

            //1、使用viewBag,动态数据类型
            //ViewBag.name = "Elsa's viewbag";

            //2、使用viewDate这种键值对的方式

            ViewData["name"] = "Elsa'test viewdata!";

            return View();
        }
    view:

    

<h2>Elsa'test</h2>
@*<br> @ViewBag.name*@
@ViewData["name"]

     效果:

     

     效果肯定是谁有问题的,不看是谁写的啊。。哈哈哈哈。。。


    ViewBag & ViewData的关系???好奇吗?

    其实viewbag和viewdata可以共享数据的,但是他们依然是两种不同的属性。

    比如:


    controller:

    

public ActionResult Index()
        {

            //1、使用viewBag,动态数据类型
            ViewBag.name = "Elsa's viewbag";

            //2、使用viewDate这种键值对的方式

            ViewData["test"] = "Elsa'test viewdata!";

            return View();
        }
     View:

 

<h2>Elsa'test</h2>

@ViewData["name"]

     效果:

     

     看到没有?认真的你肯定发现了,我在html里面调用的是viewdata["name"];而name是在controller里面的viewbag中声明的,所以,他们可以相互共享数据~~


3、TempData

    

    controller:

    

 //3、使用tempData
      TempData ["temp"]="Elsa's tempdata";

     view:

    

@TempData["temp"]

4、model

    controller:

    

//4、使用model

            Models.test modeltest = new Models.test() { Name = "haha" };


            return View(modeltest);

    view:

 

@Model.Name

     其实,model是余数viewdata的属性的,相当于写viewdata.model.Name;


小结:


     好了,action向view传参的4个方式就介绍到这里,最后再告诉大家一个小知识~action方法输出的返回值主要有3种:string、viewresult、jsonresult。次要的还有很多,希望我们共同进步!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值