Asp.net 以适当的方式从视图调用控制器方法
正如标题中提到的。我知道从视图调用控制器方法的最佳方式是什么。ViewBag,HTMLHelper…?当用户请求页面时,网页首先使用路由找到合适的控制器。然后完成所有服务器端C#代码。然后它填充html模板并将html发送给用户。无法从服务器上的视图调用控制器。但当视图页面在客户端浏览器上运行时,您可以对服务器进行ajax调用,然后将数据发送回控制器 这是一个例子 让我缩小浏览器所采取的步骤Asp.net 以适当的方式从视图调用控制器方法,asp.net,asp.net-mvc-4,view,controller,Asp.net,Asp.net Mvc 4,View,Controller,正如标题中提到的。我知道从视图调用控制器方法的最佳方式是什么。ViewBag,HTMLHelper…?当用户请求页面时,网页首先使用路由找到合适的控制器。然后完成所有服务器端C#代码。然后它填充html模板并将html发送给用户。无法从服务器上的视图调用控制器。但当视图页面在客户端浏览器上运行时,您可以对服务器进行ajax调用,然后将数据发送回控制器 这是一个例子 让我缩小浏览器所采取的步骤 用户请求页面 /主页/索引 ASP MVC服务器将请求发送到路由。默认路由位于global.aspx文
你只需要让它成为一个行动的结果。此外,如果您使用的是Ajax POST,则需要使用HttpPost属性标记该操作。试试这个:
[HttpPost]
public ActionResult test()
{
return Content("It works");
}
您可以在view.cshtml中添加javascript标记
// Sample Ajax Request.
$.ajax({
url: '@Url.Action("test", "Home")',
data: {dealerID: dealerID},
type: 'POST',
success: function(data) {
alert(data);
}
});
注:
- Action具有控制器/操作参数。首先应该是“ActionName”,然后是“ControllerName”
- 对于Url.Action,如果控制器类是“HomeController”,那么您只需要“Home”
- 请求成功时的JQuery选项显示警报。-应该是成功的:函数(数据){}
@Html.ActionLink("LinkText", "ActionName", "ControllerName")