在 ASP.NET Core 7 Razor Pages 中没有完整页面回发的部分表单保存和加载?

问题描述 投票:0回答:1
  • ASP.NET 核心 7
  • 实体框架
  • 部署在 Azure 上(应用服务和 SQL Server)

我在一个页面上有三个文本框。文本框可以包含大量文本。用户将与客户讨论并在这些文本框中记录信息。每次讨论的持续时间可以是几个小时。

问题:在用户主动输入信息而不执行整页刷新的情况下,如何定期保存在文本框中输入的数据?我想确保用户不会丢失任何输入的信息,并且可以继续工作而无需等待页面重新加载。

entity-framework asp.net-core razor-pages partial-views
1个回答
0
投票

根据你的描述,我建议你可以使用Juqery ajax来实现这个需求。您可以使用 setInterval 方法,该方法将触发将文本框发布到后端方法的方法。

更多详情,您可以参考以下代码:

客户:

<input id="textbox1"  type="text"/>
<br/>

<input id="textbox2" type="text" />
<br />

<input id="textbox3" type="text" />
<br />


@section scripts {
    <script>
        $(function() {
        setInterval(function() {
        var textbox1Content = $('#textbox1').val();
        var textbox2Content = $('#textbox2').val();
        var textbox3Content = $('#textbox3').val();
        $.ajax({
        url: 'home/SaveTextboxesContents',
        type: 'POST',
        data: { textbox1: textbox1Content, textbox2: textbox2Content, textbox3: textbox3Content },
        success: function(data) {
        console.log('Data saved successfully');
        },
        error: function() {
        console.log('Error saving data');
        }
        });
        }, 60000); // 1 min
        });
    </script>
)



}

后端方法:

    [HttpPost]
    public IActionResult SaveTextboxesContents(string textbox1, string textbox2, string textbox3)
    {
        // Save the textbox content to the database or a file
        // ...
        return Json(new { success = true });
    }

结果:

© www.soinside.com 2019 - 2024. All rights reserved.