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 中以在视图上呈现?