从视图中我可以调用控制器中的方法吗?

时间:2014-01-06 23:10:23

标签: asp.net asp.net-mvc-4

在视图中如何调用控制器中的方法或项目中的其他类?我可以这样做吗?

2 个答案:

答案 0 :(得分:1)

如果您需要在视图中使用调用操作方法,则需要使用ChildActionOnly

[ChildActionOnly]
public ActionResult action1()
{
   //
   return PartialView();
}

然后在你看来:

@Html.Partial("action1")

但是如果你想调用一个像helper类这样的方法,你可以这样做:

@helper ShowTree()
{
   //some code
}

答案 1 :(得分:0)

试试这个,

下面提到了如何查看呼叫控制器动作事件的所有格式。

- >使用Ajax beginform调用

 @using (Ajax.BeginForm("ContainerSizeDetail", "Content", FormMethod.Post, null, new { @class = "" }))
        {}
[HttpPost]
        public ActionResult ContainerSizeDetail(ContainerSizeModel model)
        {}

- >使用Beginform调用

        @using (Html.BeginForm("VendorContactDetail", "VendorAccount", FormMethod.Post, new { id = "frmVendorContact" }))
                {}
[AllowAnonymous]
        public ActionResult VendorContactDetail()
        {}

- >使用Ajax调用

调用
        var request = $.ajax({
                        url: "http://localhost/ProjectDirectory/VendorAccount/ValidateUser",
                        type: 'POST',
                        cache: false,
                        data: JSON.stringify(returnValue),
                        dataType: 'json',
                        contentType: 'application/json; charset=utf-8'
                    });

[AllowAnonymous]
        [HttpPost]
        public ActionResult ValidateUser(VendorRegistrationModel model)
        {}