【发布时间】:2020-06-24 15:32:32
【问题描述】:
我有一个要求,例如调用具有 asp-page-handler="UpdateData" 按钮的部分页面(_DataDiffs.cshtml)。当我从 DataCorrectionpage(@await Html.PartialAsync("_DataDiffs", Model) 调用时,数据渲染得很好。当我点击 handler="UpdateData 按钮数据未发布到 OnPostUpdateData() 方法时。
请帮忙。 提前致谢 埃斯瓦尔
@model Handlers.DataCorrectionModel
<div>
@if (@Model.DataDiffs?.Count > 0)
{
foreach (var diff in @Model?.DataDiffs)
{
<div>
<input name="@diff.Id" type="checkbox" value="12" />12
</div>
<div>
<input name="@diff.Replace" type="checkbox" value="true" />true
</div>
<div>
<input name="@diff.Correct" type="checkbox" value="Correct" />Correct
</div>
foreach (var item in diff.Updates)
{
<div>
<input name="@item.Update" type="checkbox" value="12" />12
</div>
<div>
<input name="@item.Update2" type="checkbox" value="true" />true
</div>
<div>
<input name="@item.Update3" type="checkbox" value="update3" />update3
</div>
}
}
}
<input type="submit" value="Update Order" name="btnRead" asp-page-handler="UpdateData" class="btn btn-primary" />
<br />
</div>
<div class="row">
<form method="post">
@await Html.PartialAsync("_DataDiffs", Model)
</form>
</div>
<div></div>
public DataCorrectionModel()
{
DataDiffs = new List<DataDiffs>()
{
new DataDiffs
{
Id=12,
Correct="str",
Replace = true,
Updates = new List<Updates>()
{
new Updates
{
Update=12,
Update2 =true,
Update3 = "update3"
}`enter code here`
}
}
};
}
[BindProperty]
public List<DataDiffs> DataDiffs { get; set; }
public void OnGet()
{
}
public void OnPost()
{
//my other posts
}
public void OnPostUpdateData()
{
var diff = DataDiffs;
}
public class DataDiffs
{
public int Id { get; set; }
public bool Replace { get; set; }
public string Correct { get; set; }
public List<Updates> Updates { get; set; }
}
public class Updates
{`enter code here`
public int Update { get; set; }
public bool Update2 { get; set; }
public string Update3 { get; set; }
}
【问题讨论】:
-
当我从我的主页调用部分页面时,数据渲染得很好,但是当单击 updateData 按钮(页面处理程序按钮)时,数据未发布到页面后面的代码中。尝试了 bindpropery 和接收作为参数都对我不起作用。请帮忙
标签: asp.net-mvc asp.net-core razor-pages