如何将字符串列表绑定到ASP.NET MVC中的datalist id?

问题描述 投票:0回答:1

如何将List绑定到datalist id。 List在一个控制器类中,datalist id在一个视图中(chtml文件)?

我尝试在控制器类中使用此datalist id,但我得到错误“名称”id(某个id名称)“在当前上下文中不存在”。

见下面的代码:


<input list="cardProgram" class="form-control input-group-lg">
    <asp:DataList id="cardProgram" runat="server">
         <ItemTemplate>
             <%# Eval("Value") %>>
         </ItemTemplate>
    </asp:DataList>


protected void Page_Load()
{
    BindCardPrograms();
}

private async void BindCardPrograms()
{
    using (var client = new HttpClient())
    {
        client.BaseAddress = new Uri("http://localhost:59066/");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new 
            MediaTypeWithQualityHeaderValue("application/json"));
        ViewBag.country = "";
        HttpResponseMessage response = await 
            client.GetAsync("api/Profile/InitializeCardProgramSelection");
        if (response.IsSuccessStatusCode)
        {
            List<String> cardPrograms = 
                response.Content.ReadAsAsync<List<String>>().Result;
            cardProgram.DataSource = cardPrograms;
            cardProgram.DataBind();
        }
        /*else
        {
            return View();
         }*/

    }
}
c# html asp.net-mvc controller datalist
1个回答
0
投票
@Html.DropDownList("cardProgram", null, "--Select--", new
                       {
                           @class = "form-control input-group-lg",
                           @onChange = "return "
                       })
using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://localhost:59066/");
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                ViewBag.country = "";
                HttpResponseMessage response = await client.GetAsync("api/CardCreation/Configure");
                if (response.IsSuccessStatusCode)
                {
                    List<SelectListItem> cardPrograms = response.Content.ReadAsAsync<List<SelectListItem>>().Result;
                    ViewBag.cardProgram = cardPrograms;
                    return View();
                }
                else
                {
                    return View();
                }
}
© www.soinside.com 2019 - 2024. All rights reserved.