微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

单独的用于ajax动作的控制器在asp.net mvc 3中产生

如何解决单独的用于ajax动作的控制器在asp.net mvc 3中产生

| 对于ajax调用actionresult,我正在考虑两种选择 将动作结果放入 最适合其功能的控制器 为ajax调用创建单独的控制器 在第二种方法中,我可以使用单独的文件功能上划分控制器,并在每个文件中使用部分“ 0”类。 如果我想将某些动作过滤器属性应用于ajax动作结果以外的第二个选项,那么第二个选项可能会有所帮助。例如,授权属性可以应用于正常动作结果。我可能会在ajax actionresults上使用Ajaxonly属性来保护它们 您更喜欢哪个选项     

解决方法

        你为什么要这么做?对我来说,控制器与某种模型联系在一起,而不是某种类型的输出格式。
public ActionResult Users()
{
    var users = _repository.Find(); 
    var viewModel  = Mapper.Map(users); // automapper or similar
    return Request.IsAjax() ? Json(viewModel) : View(viewModel);
}
回答您的更新 最好创建一个“ 2”来检查它是ajax请求还是常规请求并进行适当的授权。您的控制器不应该知道如何进行授权。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。