helpsos
سه شنبه 03 تیر 1393, 17:55 عصر
سلام به همه
دوستان آقای نصیری در دات نت تیپس گفتن که برای مدیریت اینکه یک درخواست رسیده حتما ajax باشه از یک فیلتر که کد اون در زیر است استفاده کنید:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] public class AjaxOnlyAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Request.IsAjaxRequest() )
{
base.OnActionExecuting(filterContext);
}
else
{
throw new InvalidOperationException("این عملیات فقط با درخواستهای Ajax قابل دسترسی است");
}
}
}
و برای هر اکشن هم بنویسید
[ajaxOnly]
تا اینجا درست ولی:
وقتی کاربری بخواهد که اعمالی که باید ایجکسی انجام شود را دور بزند و مثلا آدرس اون اکشن را در آدرس بار بنویسد و به آن دسترسی داشته باشه برنامه خطای زیر را میده که باید از دکمه Continue استفاده کرد تا به کاربر پیغام مورد نظر را نشان بدهد.
حالا
سوال من اینه که باید چه کرد تا دیگه لازم به Continue نباشه و مستقیما همون خطا را بهش نشون بدهیم؟
یه دنیا دعاتون می کنم اگه جواب بدین:ناراحت:
دوستان آقای نصیری در دات نت تیپس گفتن که برای مدیریت اینکه یک درخواست رسیده حتما ajax باشه از یک فیلتر که کد اون در زیر است استفاده کنید:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] public class AjaxOnlyAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Request.IsAjaxRequest() )
{
base.OnActionExecuting(filterContext);
}
else
{
throw new InvalidOperationException("این عملیات فقط با درخواستهای Ajax قابل دسترسی است");
}
}
}
و برای هر اکشن هم بنویسید
[ajaxOnly]
تا اینجا درست ولی:
وقتی کاربری بخواهد که اعمالی که باید ایجکسی انجام شود را دور بزند و مثلا آدرس اون اکشن را در آدرس بار بنویسد و به آن دسترسی داشته باشه برنامه خطای زیر را میده که باید از دکمه Continue استفاده کرد تا به کاربر پیغام مورد نظر را نشان بدهد.
حالا
سوال من اینه که باید چه کرد تا دیگه لازم به Continue نباشه و مستقیما همون خطا را بهش نشون بدهیم؟
یه دنیا دعاتون می کنم اگه جواب بدین:ناراحت: