正如标题中所提到的。从视图中调用控制器方法的最佳方式是什么?ViewBag,HTMLHelper ...?
发布于 2013-07-26 12:55:22
当用户请求一个页面时,web页面首先使用路由找到合适的控制器。然后,它完成所有服务器端C#代码。然后填充html模板并将html发送给用户。您不能从服务器上的视图调用控制器。但是,当视图页面在客户端浏览器上运行时,您可以对服务器进行ajax调用,然后将数据发送回控制器
下面是示例
http://www.codeproject.com/Articles/41828/JQuery-AJAX-with-ASP-NET-MVC
让我缩小浏览器执行的步骤的范围。
/Home/Index
发布于 2013-07-26 15:16:50
您只需要将其设置为ActionResult。此外,如果使用Ajax POST,则需要使用HttpPost属性标记操作。试试这个:
[HttpPost]
public ActionResult test()
{
return Content("It works");
}你添加了javascript标签( view.cshtml )。
// Sample Ajax Request.
$.ajax({
url: '@Url.Action("test", "Home")',
data: {dealerID: dealerID},
type: 'POST',
success: function(data) {
alert(data);
}
});注意:
发布于 2013-07-26 15:19:54
@Html.ActionLink("LinkText", "ActionName", "ControllerName")https://stackoverflow.com/questions/17870963
复制相似问题