首页 > 解决方案 > 如何将数据元素从 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>

标签: c#.netblazorprogressive-web-apps

解决方案


推荐阅读