Comments (3)
This is how I do it in my custom components to access the HtmlFieldName
:
public class BlazorHtmlField<T> : InputBase<T>
{
public BlazorHtmlField(Expression<Func<T>> valueExpression)
{
ValueExpression = valueExpression;
_ = base.SetParametersAsync(ParameterView.FromDictionary(new Dictionary<string, object?>()));
HtmlFieldName = NameAttributeValue;
}
public string HtmlFieldName { get; private set; }
protected override bool TryParseValueFromString(string? value, out T result, out string validationErrorMessage)
=> throw new NotImplementedException();
}
Usage:
<label for="@ValueField.HtmlFieldName">
@code {
private BlazorHtmlField<string?> ValueField => new(ValueExpression);
[Parameter] public Expression<Func<string?>> ValueExpression { get; set; } = default!;
[Parameter] public string? Value { get; set; }
}
from aspnetcore.
@VahidN That's a pretty clever workaround, I can probably apply that in my codebase. However, it would still be cool if there was a properly supported way to do that :).
from aspnetcore.
In the end I found a pretty good workaround:
@using System.Diagnostics.CodeAnalysis
@typeparam TValue
@inherits InputBase<TValue>
@ControlTemplate(new ControlContext { Id = NameAttributeValue })
@code {
[Parameter, EditorRequired]
public RenderFragment<ControlContext> ControlTemplate { get; set; } = null!;
protected override bool TryParseValueFromString (string? value, [MaybeNullWhen(false)] out TValue result, [NotNullWhen(false)] out string? validationErrorMessage) {
throw new NotImplementedException();
}
}
It can be used like this:
<ControlContextProvider Value="Value" ValueChanged="ValueChanged" ValueExpression="ValueExpression">
<ControlTemplate>
@context.Id
</ControlTemplate>
</ControlContextProvider>
from aspnetcore.
Related Issues (20)
- Special Character 'é' Causes 400 Bad Request Error with Header Value HOT 1
- Security concern with accessing server-side Blazor services from a different DI scope / semaphore needed? HOT 3
- [Blazor] Investigate why E2E tests aren't catching trimming issues
- Perf improvement: https, json
- Perf regression: json_middleware
- Blazor template with 3 projects : Client , Server , Shared
- object property causes build crash when generating OpenAPI document at build time
- Generate schema with `readOnly: true` for computed properties and properties with `[ReadOnly(true)]` attribute
- Perf improvement: plaintext
- Perf regression: mvc
- 406 Not Accepted when returning ObjectResult with content type 'application/json; charset=utf-8'
- Perf improvement: connectionclose, single_query
- Perf regression: connectionclose, fortunes, fortunes
- Perf regression: plainTextNoParamsEmptyFilter, plainTextSansFilter, plainTextWithFilter
- Perf regression: connectionclosehttps, fortunes_spring, mapaction
- Perf regression: fortunes_dapper
- Perf regression: ApiCrudGetProductDetails
- Enable case-insensitive route parameter binding for enums
- [API Proposal]: Add new constructor for `HttpValidationProblemDetails` that accepts a `IEnumerable<KeyValuePair<string, string[]>>`
- MapAssets System.ArgumentOutOfRangeException: (Parameter 'offset') Actual value was 0. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aspnetcore.