org.sonar.plugins.csharp.S6797.html Maven / Gradle / Ivy
Why is this an issue?
The SupplyParameterFromQuery
attribute can be used to specify that a component parameter, of a routable component, comes from the query string.
Component parameters supplied from the query string support the following types:
- bool, DateTime, decimal, double, float, Guid, int, long, string.
- Nullable variants of the preceding types.
- Arrays of the preceding types, whether they’re nullable or not nullable.
Query parameters should have one of the supported types. Otherwise, an unhandled exception will be raised at runtime.
Unhandled exception rendering component: Querystring values cannot be parsed as type '<type>'.
System.NotSupportedException: Querystring values cannot be parsed as type '<type>'
...
How to fix it
Change the parameter type to one of the following ones:
- bool, DateTime, decimal, double, float, Guid, int, long, string.
- Nullable variants of the preceding types.
- Arrays of the preceding types, whether they’re nullable or not nullable.
Code examples
Noncompliant code example
@page "/print"
<p> Parameter value is: @Value </p>
@code {
[Parameter]
[SupplyParameterFromQuery()]
public TimeSpan Value { get; set; } // Noncompliant
}
Compliant solution
@page "/print"
<p> Parameter value is: @Value </p>
@code {
[Parameter]
[SupplyParameterFromQuery()]
public long Value { get; set; } // Compliant
}
Resources
Documentation
- Microsoft Learn - SupplyParameterFromQueryAttribute
© 2015 - 2024 Weber Informatics LLC | Privacy Policy