【发布时间】:2013-07-26 00:24:59
【问题描述】:
正如标题中提到的那样。我从视图中调用控制器方法的最佳方法是什么。 ViewBag、HTMLHelper ...?
【问题讨论】:
标签: asp.net asp.net-mvc-4 view controller
正如标题中提到的那样。我从视图中调用控制器方法的最佳方法是什么。 ViewBag、HTMLHelper ...?
【问题讨论】:
标签: asp.net asp.net-mvc-4 view controller
当用户请求一个页面时,网页首先使用路由找到合适的控制器。然后它完成所有服务器端 C# 代码。然后它填充 html 模板并将 html 发送给用户。您不能从服务器上的视图中调用控制器。但是当视图页面在客户端浏览器上运行时,您可以对服务器进行 ajax 调用,然后将数据发送回控制器
这里是例子
http://www.codeproject.com/Articles/41828/JQuery-AJAX-with-ASP-NET-MVC
让我缩小浏览器采取的步骤。
用户请求页面
/首页/索引
【讨论】:
您只需将其设为 ActionResult。此外,如果您使用的是 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);
}
});
注意:
【讨论】:
@Html.ActionLink("LinkText", "ActionName", "ControllerName")
【讨论】: