MVC如何从视图调用控制器中的动作以返回值

Posted

技术标签:

【中文标题】MVC如何从视图调用控制器中的动作以返回值【英文标题】:MVC How to call an action in controller from view to return a value 【发布时间】:2014-10-18 06:32:14 【问题描述】:

我正在做一个 mvc 项目。在 Home 控制器中,我有一个名为 GetCityByID 的操作,它获取 id 并检查数据库中的城市并返回城市名称。

在我的视图中,我想调用此操作并获取结果并显示它。

有人可以演示不同的方法吗?

我想我可以通过 ajax/javascript,也可以通过 @url.Action ?

【问题讨论】:

还可以查看 html.RenderAction()Html.RenderPartial() 方法 你有例子吗? 【参考方案1】:

是的,您可以从视图中对控制器方法进行ajax 调用。以下是JS代码。

$.ajax(
async: false,
cache: false,
type: "GET",
url: "@(Url.Action("YourAction", "YourController"))",
data:  "id": ui.item.Id , //Param
success: function (data) 

);

控制器中的MVC代码。

   [AcceptVerbs(HttpVerbs.Get)]
   public JsonResult ActionName(int id)
   
       ....Your Code....
       return Json(model);
    

【讨论】:

【参考方案2】:

在视图中: $.ajax( 异步:假, 缓存:假, 类型:“获取”, url: "@(Url.Action("YourAction", "YourController"))", data: "id": ui.item.Id , //参数 成功:函数(数据) );

MVC 控制器代码:

[HttpGet]
public JsonResult ddlSurgeryDescription(string id)

          Do Process Here 

return Json(new  id = ViewData["ddlSurgeryDescription"] , JsonRequestBehavior.AllowGet); 


【讨论】:

以上是关于MVC如何从视图调用控制器中的动作以返回值的主要内容,如果未能解决你的问题,请参考以下文章

PHP-PDO:我如何将一些值返回到 javascript 中以在视图上呈现?

从 php 中的 mvc 控制器方法返回一个 json 值

如何将viewbag值与mvc 4中的模型另一个值进行比较

如何使用 json 从 web.api 获取返回值到 mvc 控制器?

从控制器动态渲染动作 - MVC

如果会话超时,如何在 MVC 中的 jquery ajax 调用后重定向到新页面?