【问题标题】:how to fetch the data from adminside and then display in client side?如何从管理端获取数据然后在客户端显示?
【发布时间】:2020-09-19 11:34:45
【问题描述】:

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

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

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

查看管理侧视图:

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

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();
        }

查看响应没问题,但是应该应用哪个逻辑来显示数据

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; }
    }

职业页面.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

帮助

【问题讨论】:

    标签: c# asp.net-mvc viewbag


    【解决方案1】:

    函数的返回值 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();
        }
    

    职业页面.cshtml

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

    【讨论】:

    • 我正在尝试这个但不起作用List&lt;Vacancy&gt; products = await responseMessage.Content.ReadAsAsync&lt;List&lt;Vacancy&gt;&gt;();
    • 它可以工作,但数据显示为 html 格式,但不在职业页面中,请参阅此监视窗口 i.stack.imgur.com/6XlBc.png
    • 您的回答很好,但问题是管理端返回 json 数据格式,我正在处理删除和编辑管理端的空缺什么是解决方案,请参阅我的管理面板问题
    • 查看此图像数据返回 json 格式,但我想添加空缺,编辑空缺并删除空缺 admin side i.stack.imgur.com/R1PPU.png
    猜你喜欢
    • 2021-07-21
    • 1970-01-01
    • 2019-04-08
    • 2021-07-21
    • 2020-07-18
    • 2023-01-13
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多