【问题标题】:Pass a value to my controller with $.get() javascript to my controller method使用 $.get() javascript 将值传递给我的控制器到我的控制器方法
【发布时间】:2018-11-30 18:52:09
【问题描述】:

这是我的目标:

我正在尝试在我的模式中显示事件的详细信息。 为此,我执行了一个 JavaScript 脚本,该脚本返回到我的“事件”控制器的“GetEventsDetails”方法,并带有事件的 ID。

当我使用 Chrome 进行调试时,我看到了 id 通过,但在我的控制器中,该值始终为 0。

我真的不明白为什么,我在网上查了很多,一切似乎都在我身边!

是不是因为我没有使用ajax调用?

提前谢谢你!

    function GetEventsDetails(id) {

         //$('#myModal').find('.modal-title').text("Details ");

         $.get("@Url.Action("GetEventsDetails", "Events")/" + id,
             function (data) {
                 $('.modal-body').html(data);

             })
         $('#myModal').show();
    }
</script>

}

[Authorize]
[HttpGet]
public async Task<ActionResult> GetEventsDetails(int Zkp)
{

    ViewBag.sessionv = HttpContext.Session.GetInt32("idMember");
    FileMakerRestClient client = new FileMakerRestClient(serverName, fileName, userName, password);
    var toFind = new Models.EventsLines { Zkp = Zkp };
    var results = await client.FindAsync(toFind);

    bool isEmpty = !results.Any();
    if (isEmpty)
    {
        return View();
    }

    Models.EventsLines oEventViewModel = new Models.EventsLines();

    oEventViewModel = results.ToList().First();

    Console.WriteLine(oEventViewModel);

    return PartialView(oEventViewModel);
}

【问题讨论】:

  • 如果你有默认路由,你的参数名称应该是id 才能工作
  • 尝试修改这个:GetEventsDetails(int id),我的朋友 :))
  • “是不是因为我没有使用ajax调用?”你使用的是ajax调用。 $.get() 是一个 ajax 调用。如果您复制使用 get() 制作的 url 并将其粘贴到浏览器中,它可以工作吗?如果没有,这不是 javascript 的问题,而是您的后端的问题
  • 我不使用 asp,所以也许我遗漏了一些东西,但是你为什么使用连接而不是使用 jQuery 的 $.get() 中的数据参数? api.jquery.com/jquery.get
  • 谢谢大家!正如你所说,我只需要输入(int id)。我不知道是否是义务,但谢谢:D

标签: javascript jquery html ajax asp.net-mvc


【解决方案1】:
 <script>
         function GetEventsDetails(id) {

             //$('#myModal').find('.modal-title').text("Details ");
             var urlpath = "/ Events / GetEventsDetails /" + id;
             $.get(urlpath, function (data) {
                 $('.modal-body').html(data);

             });

         $('#myModal').show();
    }
    </script>

还有你的控制器

public async Task<ActionResult> GetEventsDetails(int id)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 2012-03-19
    相关资源
    最近更新 更多