我有以下模型類:
public class NewCampaignCommand
{
public string Title { get; set; }
public string Description { get; set; }
public decimal TargetAmount { get; set; }
public decimal CollectedAmount { get; set; }
}
上述模型系結到如下視圖:
@model TPF.Application.Features.Campaign.Commands.NewCampaign.NewCampaignCommand;
<form asp-controller="campaign" asp-action="newcampaign" method="POST">`
<label for="title" class="form-label">Title</label>
<input asp-for="Title"
class="form-control"
type="text"
id="title"
name="title"
autofocus />`
`<label for="description" class="form-label">Description</label>
<textarea asp-for="Description"
rows="1"
class="form-control"
type="text"
id="description"
name="description"></textarea>`
<label for="amount" class="form-label">Target Amount</label>
<input asp-for="TargetAmount"
asp-format="{0:n2}"
class="form-control"
type="number"
id="amount"
name="amount" />
<label for="camount" class="form-label">Collected Amount</label>
<input asp-for="CollectedAmount"
asp-format="{0:n2}"
class="form-control"
type="number"
id="camount"
name="camount" />
<button value="Save" type="submit" name="submit" class="btn btn-primary me-2">Save</button>
</form>
我正在除錯代碼,當提交表單時,我收到控制器中輸入的值 forTitle和Description欄位 whileTargetAmount和CollectedAmountare always 0。我不確定我做錯了什么。
public async Task<IActionResult> NewCampaign(NewCampaignCommand request)
{
return RedirectToAction("NewCampaign");
}
uj5u.com熱心網友回復:
模型系結通過 系結屬性name。您需要與前端中的名稱屬性和模型中的屬性名稱保持相同。
實際上asp-for會默認生成nameand id。您可以不指定它們。例如:
<input asp-for="Title"
class="form-control"
type="text" autofocus />
如果您想指定任何其他內容,您可以更改您的代碼,如下所示name:id
<input asp-for="TargetAmount"
asp-format="{0:n2}"
class="form-control"
type="number"
id="amount"
name="targetAmount" />
<label for="camount" class="form-label">Collected Amount</label>
<input asp-for="CollectedAmount"
asp-format="{0:n2}"
class="form-control"
type="number"
id="camount"
name="collectedAmount" />
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/490300.html
上一篇:如何在c#中將列舉值分配給類物件
