簡體   English   中英

Blazor EditForm InputText

[英]Blazor EditForm InputText

您好,我是 blazor webassembly 的新手,我正在嘗試建立一個具有一些基本功能的簡單商店。

我試圖制作用於添加產品的表單,並且您知道每個產品都必須鏈接到一個用戶,就我而言,我將用戶的用戶名存儲在產品中,這是我現在能想到的最簡單的方法。

但是我遇到了瓶頸,因為我不確定如何將用戶的用戶名包含到我的表單中,我獲取用戶名的方法是使用<AuthorizeView>上下文,然后從那里獲取用戶名。 但是,我不知道如何將用戶名放入<InputText>

下面是我的 EditForm 的代碼,用戶名的 InputText 是第一個。

目前,用戶需要輸入自己的用戶名來創建產品。

那么有什么方法可以自動將用戶名分配給InputText嗎?

        <EditForm Model="@newproduct" OnValidSubmit="AddProduct">
            <DataAnnotationsValidator />
            <CustomFormValidator @ref="customFormValidator" />
            <div class="form-group row">
                <label class="control-label col-md-12">Username</label>
                <div class="col">
                    <InputText class="form-control" @bind-Value="newproduct.username" />
                    <ValidationMessage For="@(() => newproduct.username)" />
                </div>
            </div>

            <div class="form-group row">
                <label class="control-label col-md-12">Product Name</label>
                <div class="col">
                    <InputText class="form-control" @bind-Value="newproduct.Name" />
                    <ValidationMessage For="@(() => newproduct.Name)" />
                </div>
            </div>

            <div class="form-group row">
                <label class="control-label col-md-12">Product Description</label>
                <div class="col">
                    <InputText class="form-control" @bind-Value="newproduct.Description" />
                    <ValidationMessage For="@(() => newproduct.Description)" />
                </div>
            </div>

            <div class="form-group row">
                <label class="control-label col-md-12">Image</label>
                <div class="col">
                    <InputText class="form-control" @bind-Value="newproduct.Image" />
                    <ValidationMessage For="@(() => newproduct.Image)" />
                </div>
            </div>

            <div class="form-group row">
                <label class="control-label col-md-12">Stock</label>
                <div class="col">
                    <InputNumber class="form-control" @bind-Value=newproduct.Stock />
                    <ValidationMessage For="@(() => newproduct.Stock)" />
                </div>
            </div>

            <div class="form-group row">
                <label class="control-label col-md-12">Price(no decimal)</label>
                <div class="col">
                    <InputNumber class="form-control" @bind-Value=newproduct.Price />
                    <ValidationMessage For="@(() => newproduct.Price)" />
                </div>
            </div>

            <div class="form-group row">
                <label class="control-label col-md-12">Category</label>
                <div class="col">
                    <InputSelect class="form-control" @bind-Value="newproduct.P_Category">
                        <option value="">--Select--</option>
                        @foreach (var category in Categories)
                            {
                            <option value="@category.Name">@category.Name</option>
                            }
                    </InputSelect>
                    <ValidationMessage For="@(() => newproduct.P_Category)" />
                </div>
            </div>
            <div class="form-group" align="right">
                <button type="submit" class="btn btn-success">Add</button>
            </div>
        </EditForm>

測試

你可以嘗試這樣的事情:

<AuthorizeView>
    <Authorized>
        @ { newproduct.username = @context.User.Identity.Name; }

        <EditForm Model="@newproduct" OnValidSubmit="AddProduct">
         ///////////
        </EditForm>
    </Authorized>
    <NotAuthorized>
        <a href="Identity/Account/Register">Register</a>
        <a href="Identity/Account/Login">Log in</a>
    </NotAuthorized>
</AuthorizeView>


@code
{
   private Product newproduct = new Product();

   
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM