fix: enhance parameter binding logic for route parameters
This commit is contained in:
@@ -24,6 +24,12 @@ public class ParameterBindingConvention : IApplicationModelConvention
|
||||
if (HasExplicitBindingSourceAttribute(parameter))
|
||||
continue;
|
||||
|
||||
#if DEBUG
|
||||
if (action.ActionName == "GetVerificationDetails")
|
||||
{
|
||||
|
||||
}
|
||||
#endif
|
||||
// اگر پارامتر از route میآید، skip کن
|
||||
if (IsRouteParameter(action, parameter))
|
||||
continue;
|
||||
@@ -70,7 +76,8 @@ public class ParameterBindingConvention : IApplicationModelConvention
|
||||
{
|
||||
if (selector.AttributeRouteModel?.Template != null)
|
||||
{
|
||||
if (selector.AttributeRouteModel.Template.Contains($"{{{parameterName}}}", StringComparison.OrdinalIgnoreCase))
|
||||
if (selector.AttributeRouteModel.Template.Contains($"{{{parameterName}}}", StringComparison.OrdinalIgnoreCase) ||
|
||||
selector.AttributeRouteModel.Template.Contains($"{{{parameterName}:", StringComparison.OrdinalIgnoreCase))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -80,7 +87,8 @@ public class ParameterBindingConvention : IApplicationModelConvention
|
||||
{
|
||||
if (selector.AttributeRouteModel?.Template != null)
|
||||
{
|
||||
if (selector.AttributeRouteModel.Template.Contains($"{{{parameterName}}}", StringComparison.OrdinalIgnoreCase))
|
||||
if (selector.AttributeRouteModel.Template.Contains($"{{{parameterName}}}", StringComparison.OrdinalIgnoreCase) ||
|
||||
selector.AttributeRouteModel.Template.Contains($"{{{parameterName}:", StringComparison.OrdinalIgnoreCase))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user