微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据对另一个保管箱的选择,将保管箱作为局部视图返回

如何解决根据对另一个保管箱的选择,将保管箱作为局部视图返回

控制器代码

        public async Task<IActionResult> Create()
        {
            ViewBag.Cat_ID = new SelectList(_context.Category,"Cat_ID","Cat_Name");
            var specialists = await userManager.GetUsersInRoleAsync("Specialist");
            ViewBag.Specialist_ID = new SelectList(specialists,"Id","UserName");
            return Request.IsAjaxRequest() ? (IActionResult)PartialView() : View();
        }

DropBox控制器代码

        [HttpGet]
        public IActionResult CreatePopulateSCat(string CatID)
        {
            List<SubCategory> AllSubCategories = _context.SubCategory.ToList();
            List<SubCategory> SelectedSubCategories = AllSubCategories.FindAll(a => a.SCat_Cat.Contains(CatID));
            ViewBag.SCat_ID = new SelectList(SelectedSubCategories,"SCat_ID","SCat_Name");
            return Request.IsAjaxRequest() ? (IActionResult)PartialView("CreatePopulateSCat") : View("Create");
        }

Create.cshtml:

            <select id="SCat_Cat" name="SCat_Cat" asp-for="Cat_Id" asp-items="(SelectList)ViewBag.Cat_ID" class="form-control" onchange="funct()">
                <option value="0">Pasirinkite kategoriją</option>
            </select>
@Html.Partial("CreatePopulateSCat",Model)

ajax代码

<script type="text/javascript">
    function funct() {
        var catvalue = document.getElementById("SCat_Cat").value;
        var url = "CreatePopulateSCat"
        alert(catvalue);
        $.ajax(
            {
                type: "GET",url: url,data: { CatID: catvalue },success: function (result) {
                    if (result.success) {
                        alert("Good");
                        document.getElementById("SCat_SCat").innerHTML = result;                     
                    }
                },error: function (req,status,error) {
                    alert(error);
                }
            });
        return false;
    }
</script>

我尝试了许多不同的迭代,通常会抛出一个错误提示未找到Root元素,该迭代实际上会激活控制器代码,但不会返回“成功”或“错误” ajax脚本中的代码。没事。

我非常感谢您的帮助。

解决方法

您正在从string s = "More++"; if(s.find("++")<s.length()){ //to find ++ //found } else { //not found } 操作返回IActionResult类型的对象。但是在用户界面中,您尝试读取CreatePopulateSCat(string CatID)result.success没有IActionResult属性。因此您的js仍然无法正常工作。

如果您尝试使用JSON对象,那么为什么不从控制器返回JSON对象呢?呈现的视图html可以是json的属性。

success

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。