如何从管理端获取数据,然后在客户端显示?

问题描述

目前在管理端有3个空缺,我想在客户端页面显示它们 如果管理员删除所有空缺,则显示客户端现在无空缺

管理端(使用实体框架):

        [HttpGet]
        [AllowAnonymous]
        public ActionResult displayVacancyData()
        {
            var list = _dbfltEntities.tbl_vacancy.ToList();
            return View(list);
        }

请参阅管理员侧视图:

enter image description here

客户端(不使用实体框架)

HomeController.cs

        [HttpGet]
        public async Task<ActionResult> Career(Vacancy _vacancy)
        {
            HttpClient client = new HttpClient();
            HttpResponseMessage responseMessage = client.GetAsync("https://localhost:44325/Home/displayVacancyData").Result;

            if (responseMessage.IsSuccessstatusCode)
            {
                await responseMessage.Content.ReadAsstringAsync();
            }
            return View();
        }

看到响应没问题,但是应该使用哪种逻辑来显示数据

enter image description here

vacancy.cs

    public class Vacancy
    {
        public int vacancyid { get; set; }
        public string vacancytitle { get; set; }
        public string vacancyposition { get; set; }
        public string vacancyexperience { get; set; }
        public string vacancyjobdescription { get; set; }
        public string vacancyrequiredskil { get; set; }
    }

careerpage.cshtml

<style type="text/css">
    .actionlink {
        font-size: 25px;
        color: cornflowerblue;
    }
</style>

<div class="container">
    <div class="row">
        <div class="col-md-6">
            <h2 style="margin-top:150px;">Current Job openings</h2>
        </div>
        <div class="col-md-4" style="margin-top:155px;">
            @Html.ActionLink("Apply for Job","ApplyForJob",null,new { @class = "actionlink" })
        </div>
    </div>
    <div class="row">
        <p> ssss ss sss a sss s of an ss-sssss s ss? s ss with s,ssss s enthusiassm s s? s s aside s s s s s s. s over ssss s s s s s sss below:</p>
    </div>
</div>

我正在尝试使用Viewbag获取数据

HomeController.cs

            if (responseMessage.IsSuccessstatusCode)
            {
                await responseMessage.Content.ReadAsstringAsync();

                ViewBag.vacancytitle = _vacancy.vacancytitle;  //I am seeing in watch window but it is null

            }

访问职业生涯查看页面中的查看包

@ViewBag.vacancytitle

帮助

解决方法

函数 responseMessage.Content.ReadAsStringAsync()的返回值被忽略。

管理端(使用实体框架), 添加操作(返回json):

    [HttpGet]
    [AllowAnonymous]
    public ActionResult GetVacancyData()
    {
        var list = _dbfltEntities.tbl_vacancy.ToList();
        return new JsonResult(list);
    }

HomeController.cs
(客户端URI“ https://.../Home/GetVacancyData”)

   [HttpGet]
    public async Task<ActionResult> Career()
    {
        HttpClient client = new HttpClient();
        HttpResponseMessage responseMessage = client.GetAsync("https://localhost:44325/Home/GetVacancyData").Result;

          if (responseMessage.IsSuccessStatusCode)
        {
            string result = await responseMessage.Content.ReadAsStringAsync();
            List<Vacancy> products = JsonConvert.DeserializeObject<List<Vacancy>>(result);
            return View(products);
        }

        return View();
    }

careerpage.cshtml

  @foreach (var item in Model)
    {
        <p>@item.vacancytitle</p>
    }