![](/img/trans.png)
[英]jQuery to call Action Method in ASP.NET MVC C# by Ajax
[英]AJAX call in ASP.NET MVC application not calling Action method
我有以下ASP.NET MVC .cshtml文件,在其中执行以下操作:当用户在“下拉列表”框中选择一个项目时,尝试从MyObject
获取Name和Id值并从其中创建一个DropDownList
,我尝试使用AJAX调用TheMethodToCall
这是在一个方法TheController
,并试图显示由返回的文本结果TheMethodTocall
。
@model List<MyWebApp.Models.MyObject>
@if (Model.Count > 0)
{
using (Html.BeginForm())
{
<div class="input-group mb-3">
@Html.DropDownList("SelectFromDropdownList", Model.Select(i => new SelectListItem()
{
Text = i.Name,
Value = i.Id
}), "This is the default DropDownList option", new { @class="custom-select", @id="mydropdownid"})
<script>
$(function(){
$('#SelectFromDropdownList').change(function () {
var typeFeed = $(this).val();
// Perform AJAX call
$.get("@Url.Action("TheMethodToCall", "TheController")", { TypeFeed: typeFeed }, function (result){
@Html.DisplayText(result);
});
});
});
</script>
</div>
}
}
我有几个问题,请帮忙! 他们来了:
TheMethodToCall
方法中,但是当用户从DropDownList
选择一项时,它不会被命中。 TheMethodToCall
返回的result
文本的正确方法吗? 更新资料
到目前为止,我很感谢您的回答,但是我在此方法中设置了一个断点,但仍未调用它。 我确实将$('#SelectFromDropdownList').change(function ()
为$('#mydropdownid').change(function ()
。还有其他事情要做吗?
[WebMethod()]
public static string TheMethodToCall()
{
return "This is a test";
}
您的.change侦听器使用了错误的ID。 下拉列表的ID为mydropdownid
但在jQuery中,您具有$('#SelectFromDropdownList').change
。 将其更改为$('#mydropdownid').change
您在AJAX响应中使用结果的方式不正确。 您正在尝试使用服务器端Razor / C#(在页面最初加载时执行)来处理在页面加载很长时间之后发生的响应。 您只需要在响应函数中使用JavaScript。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.