zz黑炭 2018-07-09 12:11 采纳率: 53.8%
浏览 1570
已采纳

C# ajax读取后台接口,填充给select下拉框

C#,后台接口(post方式)来获取所有板块的名字,路由如下所示:
[HttpPost]
[Route("shuliang/getallName")]

接口返回如下json:
{
“BankuaiNames”:
[
"板块1"
"板块2"
"板块3"
"板块4"
]
}

现在想要在前台通过ajax,读取后台接口返回的json,并且用js绑定到select下拉框,
进行显示
如下图所示

图片说明

求指点

  • 写回答

3条回答

  • threenewbee 2018-07-09 12:51
    关注
     using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace Q694264.Controllers
    {
        [HandleError]
        public class HomeController : Controller
        {
            public ActionResult Index()
            {
                ViewData["Message"] = "Welcome to ASP.NET MVC!";
    
                return View();
            }
    
            public ActionResult About()
            {
                return View();
            }
    
            [HttpPost]
            public string getallName()
            { 
                return @"{
        ""BankuaiNames"":
        [
            ""板块1"",
            ""板块2"",
            ""板块3"",
            ""板块4"",
            ""asdf""
        ]
    }";
            }
        }
    }
    
    
     <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
        Home Page
    </asp:Content>
    
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
        <h2><%: ViewData["Message"] %></h2>
    <%--    <p>
            To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
        </p>--%>
        <script type="text/javascript">
            window.onload = function () {
                $.ajax({
                    url: "/home/getallName",
                    type: "POST",
                    data: "",
                    dataType: "json",
                    success: function (data) {
                        for (var i = 0; i < data.BankuaiNames.length; i++) {
                            $("#yys").append("<option>" + data.BankuaiNames[i] + "</option>");
                        }
                    },
                    error: function (data) {
                        alert("err");
                    }
                });
            };
        </script>
        运营商:<select id="yys" name="yys">
            <option>--请选择运营商---</option>
        </select>
    </asp:Content>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题