首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以适当的方式从视图调用控制器方法

以适当的方式从视图调用控制器方法
EN

Stack Overflow用户
提问于 2013-07-26 08:25:00
回答 3查看 802关注 0票数 0

正如标题中所提到的。从视图中调用控制器方法的最佳方式是什么?ViewBag,HTMLHelper ...?

EN

回答 3

Stack Overflow用户

发布于 2013-07-26 12:55:22

当用户请求一个页面时,web页面首先使用路由找到合适的控制器。然后,它完成所有服务器端C#代码。然后填充html模板并将html发送给用户。您不能从服务器上的视图调用控制器。但是,当视图页面在客户端浏览器上运行时,您可以对服务器进行ajax调用,然后将数据发送回控制器

下面是示例

http://www.codeproject.com/Articles/41828/JQuery-AJAX-with-ASP-NET-MVC

让我缩小浏览器执行的步骤的范围。

  1. 用户请求页

/Home/Index

  • ASP MVC服务器将请求发送到路由。默认路由在global.aspx文件中。

  • 路由调用适当的

  • 运行服务器代码,并选择性地将数据发送到视图。填写

  • 视图模板并将其发送到client.

  • After页面在浏览器上加载或在用户单击后,您可以将ajax请求发送回服务器
票数 0
EN

Stack Overflow用户

发布于 2013-07-26 15:16:50

您只需要将其设置为ActionResult。此外,如果使用Ajax POST,则需要使用HttpPost属性标记操作。试试这个:

代码语言:javascript
运行
复制
[HttpPost]
public ActionResult test()
{
    return Content("It works");
}

你添加了javascript标签( view.cshtml )。

代码语言:javascript
运行
复制
// Sample Ajax Request.   
$.ajax({
           url: '@Url.Action("test", "Home")',
          data: {dealerID: dealerID},
          type: 'POST',
          success: function(data) {
            alert(data);
         }

});

注意:

  • Url.Action具有控制器/操作参数。首先应该是"ActionName“,然后是"ControllerName".
  • For Url.Action,如果控制器类是"HomeController",那么您只需要”ActionName“
  • JQuery options when Request success
  • JQuery。--应该是成功的: function(data) {}.
票数 0
EN

Stack Overflow用户

发布于 2013-07-26 15:19:54

代码语言:javascript
运行
复制
@Html.ActionLink("LinkText", "ActionName", "ControllerName")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17870963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档