【问题标题】:URL in razor pages dosen't send data to another page剃刀页面中的 URL 不会将数据发送到另一个页面
【发布时间】:2019-03-23 13:22:18
【问题描述】:

我正在使用 Razor 页面,我有两个页面 CreateModelEditModel,在 CreateModel 中有 OnGetSubGroups 处理程序:

public class CreateModel : PageModel    
 {
  //Dependency Injection is here

  public IActionResult OnGetSubGroups(int subId)
  {
   SubOptions = courseService.CourseSubGroups(subId);
   return new JsonResult(SubOptions);
   }
 }

现在的问题是当我想在 Edit.cshtml 中使用 JQuery Ajax 将数据传递给 OnGetSubGroups URL 时不起作用:

$('#Course_GroupId').on('change', function (e) {
 var optionSelected = $("option:selected", this);
 var valueSelected = this.value;
 $.ajax({
   type: "Get",                
    data: {
    subId: valueSelected,                                           
    },          
    url: "/Create?handler=SubGroups",
    contentType: "application/json; charset=utf-8",
    dataType: "json"
});

我使用了断点并且 url 不起作用。问题出在哪里?

【问题讨论】:

  • 您使用ajax调用的url是客户端,需要从客户端使用。
  • 我搜索了这个网站上的每一篇文章,都和我在上面写的一样。
  • 我的意思是 `url: "/Create?handler=SubGroups".replace('[your action]', [your action])

标签: jquery asp.net-core-mvc razor-pages jquery-ajaxq


【解决方案1】:

对于从EditCreate 的路由,您不能使用 URL "/Create?handler=SubGroups",它将生成类似 https://localhost:44389/Create?handler=SubGroups&subId=5 的 URL,并忽略 PageFolder。我假设CreateModel 不在根文件夹Pages 中。如果是这样,您不应将 URL 与"/Create?handler=SubGroups" 结合使用。

我建议你试试下面的代码:

<script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            type: "Get",
            data: {
                subId: 5,
            },
            url:"@Url.Page("Create", "SubGroups")",
            contentType: "application/json; charset=utf-8",
            dataType: "json"
        });
    });
</script>

【讨论】:

    【解决方案2】:

    您应该做的第一件事是检查 AJAX 请求是否正在发出。您可以在 Chrome 和 IE/Edge 中执行此操作,方法是按 F12 以调出开发人员工具并在更改 ID 为 Course_GroupId 的元素(选择列表?)中的值时查看网络选项卡。如果没有请求,那么您可能将change 事件处理程序连接到错误的元素或不存在的元素。如果发出请求,请检查其 URL 和响应。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-28
      • 2020-08-16
      • 2013-01-24
      • 2014-01-12
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多