[英]Binded Textarea truncates value in Blazor WASM if it contains HTML code
我正在使用 .NET 6 和 Blazor WASM。 當我粘貼到 textarea 普通文本時,無論多長或多短,它都可以正常工作並顯示在變量中。 但是,如果我從網站(例如本網站或任何其他網站)粘貼 HTML 源代碼,如果它超過數千個字符,它似乎會從中間截斷它。 它從頭到尾占用了 X 個字符,中間有…
。 截斷的字符串通常約為 1000-1200 個字符。
我嘗試使用 vanilla js 從 textarea-element 中提取值並且它工作得很好。
注意,這在 2-3 個月前確實有效。 我只是突然注意到它停止工作了,我已經部署了與此類似的代碼。 但在不同的文件上。 我沒有手動更新框架或編輯器中的任何內容 (Visual Studio 2022)
所以我有這樣的簡單代碼:
<form>
<label for="pasteHtml">Paste HTML code here</label>
<textarea @bind="pastedHtml" id="pasteHtml" rows="3"></textarea>
</form>
<button @onclick="ParseHtml"> Parse HTML</button>
@code {
// This is where I have the problem, pastedHtml value is truncated if it contains HTML code..
private string pastedHtml= "";
private void ParseHtml()
{
// Code... etc
我沒有發現 textarea 和 InputTextArea 有任何問題。
輸入文本區域示例:
@page "/test"
<EditForm EditContext="@_editContext" OnValidSubmit="HandleOnValidSubmit">
<div class="form-group row m-3">
<label class="col-md-2 col-form-label">Html Code:</label>
<div class="col-md-10">
<InputTextArea class="form-control" @bind-Value="sampleCode.HtmlCode" />
</div>
</div>
<div class="row m-3">
<div class="col-md-12 text-right">
<button type="submit" class="btn btn-success float-right">Submit</button>
</div>
</div>
</EditForm>
<div class="row m-3">
<div class="col-md-12 text-right">
HTML code length: @length
</div>
</div>
@code {
private int length;
private SampleCode sampleCode = new SampleCode();
private EditContext _editContext;
protected override void OnInitialized()
{
_editContext = new EditContext(sampleCode);
base.OnInitialized();
}
public void HandleOnValidSubmit()
{
this.length = sampleCode.HtmlCode.Length;
Console.WriteLine($"HTML code length: {sampleCode.HtmlCode.Length}");
}
public class SampleCode
{
public string HtmlCode { get; set; }
}
}
文本區域示例:
@page "/test"
<div class="form-group row mb-3">
<label class="col-md-2 col-form-label">Html Code:</label>
<div class="col-md-10">
<textarea class="form-control" rows="3" @oninput="OnInput"></textarea>
</div>
</div>
<div>HTML code length: @length</div>
@code {
private int length;
void OnInput(ChangeEventArgs args)
{
this.length = args.Value.ToString().Length;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.