c# - 如何将数据元素从 HTML 传递到代码页 Razor 组件
问题描述
我有机会在工作中开发一个新的应用程序。我决定使用 Blazor 使用 PWA 来解决这个问题。
我正在使用 VS 2022 .NET 6。我按照创建 PWA 的 MS 示例进行操作。我需要向用户询问文件位置,然后将该值传递给代码页以进行处理。路径和文件名的值是 null。我哪里错了?
IndexPartialClass.razor.cs
using System.IO;
using ExcelDataReader;
using Microsoft.AspNetCore.Components;
namespace TRY2.Pages
{
public partial class Index
{
private string txtFileName ="txtFileName" ;
private object ShowMessage = "";
public void ProcessFile()
{
using (var stream = File.Open(txtFileName, FileMode.Open, FileAccess.Read))
{
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
do
{
while (reader.Read()) //Each ROW
{
for (int column = 0; column < reader.FieldCount; column++)
{
ShowMessage = reader.GetValue(column).ToString();
}
}
}
}
}
}
}
}
索引剃刀
@page "/"
<table>
<tr>
<td>
<label for="lblPFile">Progyny File : </label>
</td>
<td>
<input type="file" name="txtFileName" id="txtFileName" />
</td>
</tr>
</table>
<PageTitle>Progyny File Information</PageTitle>
<h1>Progyny File </h1>
<button class="btn btn-primary" @onclick="ProcessFile">Process File</button>
<p>
<textarea> @ShowMessage </textarea>
</p>