我对MVC很新,我想知道是否有可能创建一个自定义动作过滤器,例如" ChildAction",以允许视图为由iFrame调用。
例如:
[IframeAction] // Custom attribute
[HttpGet]
public ActionResult Embeddable (){ // Only accessible if called by an iframe
return View();
}
提前感谢您提供任何可能的帮助。
最诚挚的问候,
凯文
到目前为止,我的代码是:
public class IframeActionAttribute : ActionMethodSelectorAttribute
{
public override bool IsValidForRequest(ControllerContext controllerContext, MethodInfo methodInfo)
{
var request = controllerContext.RequestContext.HttpContext.Request.QueryString["iframe"];
if (!string.IsNullOrEmpty(request) && request.Equals("true"))
return true;
return false;
}
}
这用作我之前提供的示例,它检查请求字符串是否具有param:iframe设置为true
嵌入示例:
<iframe src="@string.Format("{0}embed/{1}?iframe=true", ConfigurationManager.AppSettings["App:BaseUri"], Model)"></iframe>
这是要走的路还是有更好的方法?