使用带有ajax的MVC3 childactiononly属性

kin*_*ian 11 ajax asp.net-mvc-3

我正在使用ajax加载局部视图,以便在kendo网格中添加/编辑行.当我按下行中的编辑按钮时,我也想不允许用户直接Home/AddModify从浏览器调用该操作.

如果我[ChildActionOnly]执行"AddModify"操作,它不会让我加载局部视图,因为所有内容都在ajax调用中,我不想在视图中的某个位置使用它@Html.Action("Home/AddModify",model).我也不想在加载页面时从头开始加载它.

我可以调用局部视图,因此只能按需查看(动态)吗?

U.P*_*U.P 19

你需要的只是一个AJAX attribte看看这个问题

声明它就像

public class AjaxOnlyAttribute : ActionMethodSelectorAttribute 
    {
        public override bool IsValidForRequest(ControllerContext controllerContext, System.Reflection.MethodInfo methodInfo)
        {
            return controllerContext.RequestContext.HttpContext.Request.IsAjaxRequest();
        }
    }
Run Code Online (Sandbox Code Playgroud)

并使用它

[AjaxOnly]
public ActionResult ajaxMethod()
{

}
Run Code Online (Sandbox Code Playgroud)