27 lines
861 B
C#
27 lines
861 B
C#
using System;
|
|
using System.Reflection;
|
|
using System.Web.Mvc;
|
|
|
|
namespace MileageTraker.Web.Attributes
|
|
{
|
|
/// <summary>
|
|
/// Add to actions to use multiple submit buttons (back or save, for example)
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// http://blog.ashmind.com/2010/03/15/multiple-submit-buttons-with-asp-net-mvc-final-solution/
|
|
/// </remarks>
|
|
public class HttpParamActionAttribute : ActionNameSelectorAttribute
|
|
{
|
|
public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo)
|
|
{
|
|
if (actionName.Equals(methodInfo.Name, StringComparison.InvariantCultureIgnoreCase))
|
|
return true;
|
|
|
|
if (!actionName.Equals("Action", StringComparison.InvariantCultureIgnoreCase))
|
|
return false;
|
|
|
|
var request = controllerContext.RequestContext.HttpContext.Request;
|
|
return request[methodInfo.Name] != null;
|
|
}
|
|
}
|
|
} |