【发布时间】:2019-01-17 17:00:33
【问题描述】:
如何将 jQuery 变量值传递给 c# mvc?
我需要在后面的mvc代码中获取变量btn的值。
$('button').click(function () {
var btn = $(this).attr('id');
alert(btn);
$.ajax({
type: 'GET',
url: '@Url.Action("ActionName", "ControllerName")',
data: { id: btn },
success: function (result) {
// do something
}
});
});
基于变量值(提交按钮(或)预览按钮),我的模型将对某些字段进行必需的验证。
在我的控制器中,我调用为
[HttpGet]
public ActionResult ActionName(string id)
{
var vm = id;
return View(vm);
}
虽然,控制器中的 ActionResult 没有被调用。
Jquery:警报(btn); ——正在呼唤。我可以看到带有 id 的警报窗口。但是,我无法在控制器中检索 id。
【问题讨论】:
-
你是什么意思“代码隐藏”? MVC 中没有类似 WPF 的代码。 C# 部分在服务器上运行,JS 部分在浏览器中运行。它们根本没有联系。将数据从 JS 部分(前端)传递到 C# 部分(后端)的唯一方法是请求(例如 AJAX)。
-
您检查浏览器结果中的 url 是否正确?您的 sintaxys 调用似乎没问题,也许 Url.Action 没有创建正确的规则?检查。如果没有,请检查您的服务器 api 的 ruteconfig,可能那里有问题..
-
@JordiJordi,我无法关注你。我很抱歉。你能告诉我,我到底该怎么做
-
你可以关注它,在浏览器中使用“查看源代码”或 var url = '@Url.Action("ActionName", "ControllerName")'; console.log(url);
-
我到底要在源代码中寻找什么(查看源代码)?
标签: c# jquery asp.net-mvc