gpt4 book ai didi

c# - OnPost 修改后 Razor Pages 模型值差异

转载 作者:太空宇宙 更新时间:2023-11-03 14:49:22 25 4
gpt4 key购买 nike

<分区>

有人可以帮助我理解为什么在使用 TagHelper 与标准输入元素时页面显示“MyProperty”的过时值吗?

正在 Razor 页面的 OnPost 方法中修改该值。在 OnPost 之后,TagHelper 输入显示在帖子中发送的值,但非标记助手输入显示实际的最新值。

示例页面模型:-

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace WebApplication1.Pages.Test
{
public class TestModel : PageModel
{
[BindProperty]
public string MyProperty { get; set; } = null;

public void OnGet()
{
MyProperty = "Default value";
}

public PageResult OnPost()
{
MyProperty = "Posted value overwritten by some logic";

return Page();
}

}
}

示例 Razor 页面:-

@page
@model WebApplication1.Pages.Test.TestModel

<form asp-antiforgery="true">

<p><input value="@Model.MyProperty" readonly /></p>
<p><input asp-for="MyProperty" /></p>

<button type="submit">Post data</button>

</form>

在初始页面加载 (OnGet) 时,值是相同的,但如果您点击提交按钮触发帖子,则在每个输入中呈现的值是不同的?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com