从条带 .net API 中检索产品列表并将其传递给 SelectList?

Posted

技术标签:

【中文标题】从条带 .net API 中检索产品列表并将其传递给 SelectList?【英文标题】:Retrieving a list of products from stripe .net API and passing it into a SelectList? 【发布时间】:2020-10-15 18:13:42 【问题描述】:

我正在尝试在我的 ASP.NET MVC 应用程序中创建一个用户界面,以便在条带中创建计划。 Stripe 需要产品 ID 才能创建订阅计划,因此我需要显示一个下拉列表,其中列出了可供客户使用的产品。

我有一个选项,客户可以从表单创建产品,这非常有效,但是,我无法理解如何将其传递给 html.DropDownList("ProductId")。我首先认为我需要保存重复数据才能实现这一点,但是,当我尝试这样做时,我收到一条错误消息,说我的模型的值为 null,因为在我的方法中我正在创建两个产品 -一个在 api 中,一个在本地 - 我已将其改回仅使用 API。

我尝试过的不仅仅是这个,但这是最新的:

public ActionResult Create()

    StripeList 产品 = new StripeList();
    ViewBag.Products = new SelectList(products, "Id", "Name");
    返回视图();


[HttpPost]
[验证AntiForgeryToken]
公共异步任务 创建(PlanCreateViewModel 模型)

    如果(模型状态。IsValid)
    
        var options = new PlanCreateOptions
        
            Id = 型号.Id,
            金额 = 型号.金额,
            货币 = model.Currency.ToLower(),
            间隔=模型.间隔,
            产品 = 型号.产品,
            IntervalCount = model.IntervalCount,
        ;

        var planService = new PlanService();
        等待 planService.CreateAsync(options);
        return RedirectToAction("索引");
    
    返回视图(模型);


// html helper 返回空引用异常
@Html.DropDownList("Products", null, new  @class= "form-control" )

TL;DR:如何检索显示产品名称但在 asp.net mvc5 中具有产品 ID 值的条带产品列表。

【问题讨论】:

【参考方案1】:

在查看 Stripe API 后,我设法使用 ProductService() 方法在下拉列表中列出了所有产品。结果如下:

[HttpGet]
公共动作结果创建()

    var service = new ProductService();
    var options = new ProductListOptions  Limit = 5, ;
    StripeList products = service.List(options);
    ViewBag.Products = new SelectList(products, "Id", "Name");
    返回视图();

【讨论】:

以上是关于从条带 .net API 中检索产品列表并将其传递给 SelectList?的主要内容,如果未能解决你的问题,请参考以下文章

Firestore:如何从数组中检索数据并将其传递到表中?

如何从当前用户检索(Jwt)访问令牌并将其传递给 asp.net 样板(abp)中的移动应用程序?

通过 REST API 检索结果并将其显示在新活动的列表视图中(列表视图出现小问题)

从 Django HTML 表单中检索数据并将其传递给 MySQL 数据库

将数据从列表视图(从 Rest Api 生成)传递到另一个活动并将其保存到 SQLite 数据库中

从 API 检索数据并将它们传递到 Vuetify 表中