Skip to content

Instantly share code, notes, and snippets.

View mesuttalebi's full-sized avatar

Mesut Talebi mesuttalebi

View GitHub Profile
@mesuttalebi
mesuttalebi / OnlyIfPostedFromButtonAttribute.cs
Created December 12, 2014 14:08
Restricting a method to a given submit button, Using ActionMethod Selector to server multi submit form, to behave different for each submit button in Asp.net MVC
public class OnlyIfPostedFromButtonAttribute : ActionMethodSelectorAttribute
{
public string SubmitButton { get; set; }
public override Boolean IsValidForRequest(ControllerContext controllerContext,
MethodInfo methodInfo)
{
// Check if this request is coming through the specified submit button
var o = controllerContext.HttpContext.Request[SubmitButton];
return o != null;
}
@mesuttalebi
mesuttalebi / AjaxOnlyAttribute.cs
Created December 12, 2014 13:56
Restricting a method to Ajax calls only, an example of ActionMehodSelector in Asp.net MVC, If request is an ajax request, it will be served by action method, Else It will not.
public class AjaxOnlyAttribute : ActionMethodSelectorAttribute
{
public override Boolean IsValidForRequest(
ControllerContext controllerContext, MethodInfo methodInfo)
{
return controllerContext.HttpContext.Request.IsAjaxRequest();
}
}
@mesuttalebi
mesuttalebi / ViewSelectorAttribute.cs
Created December 12, 2014 13:28
ViewSelector For Asp.net MVC - multiserve for one request in asp.net mvc- viewselector based browser
public class BrowserSpecificAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
var viewResult = filterContext.Result as ViewResult;
if (viewResult == null)
return;
// Figure out the view name
var context = filterContext.Controller.ControllerContext;
var viewName = viewResult.ViewName;