从控制器

时间:2017-07-04 12:21:57

标签: c# asp.net asp.net-mvc

在asp.net MVC中获取模型值但在传递时没有显示任何内容。

控制器

  public ActionResult Index(plan plan1)
        {
            var myCharge = new StripeChargeCreateOptions();

            string apiKey = "";
            var stripeClient = new StripeClient(apiKey);
            var planService = new StripePlanService(apiKey);
            StripePlan response = planService.Get("1234");
            plan1.Amount = (response.Amount).ToString();

            return View();
        }

视图

<div>
    @Html.TextBoxFor(m => m.Amount)

</div>

如何在文本框中显示金额值

3 个答案:

答案 0 :(得分:2)

希望您的View与Model类绑定(实例是plan1)。因此,您需要在return语句中指定模型

return View(plan1);

答案 1 :(得分:1)

这是因为您没有将hte模型对象传递回视图,您需要将实例plan1传递回来查看操作,只需将您的最后一行操作代码更改为:

return View(plan1);

View获取有关从控制器操作传递的模型对象的信息,您没有将其传回,因此View无法知道它需要使用plan1对象状态来呈现图。

我希望你现在知道为什么它没有显示你的数据。

答案 2 :(得分:1)

答案已经给出。你应该返回模型bij调用

return View(plan1);

最好将ViewModel而不是模型返回给您的视图。

  public class PlanViewModel
  {
     public plan plan1 { get; set; }
  }




public ActionResult Index(plan plan1)
{
   var myCharge = new StripeChargeCreateOptions();

   string apiKey = "";
   var stripeClient = new StripeClient(apiKey);
   var planService = new StripePlanService(apiKey);
   StripePlan response = planService.Get("1234");
   plan1.Amount = (response.Amount).ToString();

   var viewModel = new PlanViewModel {
      plan1 = plan1
   };

   return View(viewModel);
}