ASP 变量 asp
发布时间:2022-09-13 16:00:00 所属栏目:Asp教程 来源:
导读: asp.net core razor页面模型公共列表变量在onpost上重置为null,而字符串变量不重置
asp.netasp.net-core
asp.net core razor页面模型公共列表变量在onpost上重置为null,而字符串变量不重置,as
asp.netasp.net-core
asp.net core razor页面模型公共列表变量在onpost上重置为null,而字符串变量不重置,as
|
asp.net core razor页面模型公共列表变量在onpost上重置为null,而字符串变量不重置 asp.netasp.net-core asp.net core razor页面模型公共列表变量在onpost上重置为null,而字符串变量不重置,asp.net,asp.net-core,Asp.net,Asp.net Core,我有问题,或者我不明白这是怎么回事:)如果是的话,欢迎任何帮助。所以我有一个空白的asp.net核心web项目,我把我的问题放在一起,见下面的代码。若我单击Submit1按钮,它将调用PostSubmit1并将值放入MyTestDetails列表变量和tester字符串变量中,然后返回页面。如果我单击Submit2按钮,它调用OnPostSubmit2,如果我在那个点调试tester仍然具有OnPostSubmit1上一次调用中的先前值“这是我的测试”,但是MyTestDetails列表变量被重 我有问题,或者我不明白这是怎么回事:)如果是的话,欢迎任何帮助。所以我有一个空白的asp.net核心web项目,我把我的问题放在一起,见下面的代码。若我单击Submit1按钮,它将调用PostSubmit1并将值放入MyTestDetails列表变量和tester字符串变量中,然后返回页面。如果我单击Submit2按钮,它调用OnPostSubmit2,如果我在那个点调试tester仍然具有OnPostSubmit1上一次调用中的先前值“这是我的测试”,但是MyTestDetails列表变量被重置,并且丢失了我在之前单击Submit1按钮并调用OnPostSubmit1时在其中设置的值。只是想弄明白我如何才能坚持我的测试细节?我将它设置为“公共”,就像字符串测试器一样 Razor页面.cshtml div class="text-center"> Welcome Learn about building Web apps with ASP.NET Core. Submit1 Submit2 div class=“文本中心”> 欢迎 了解 提交1 提交2 剃刀页面.cs private readonly ILogger _logger; public string PopupMessage { get; set; } public List MyTestDetails { get; set; } public string tester { get; set; } public IndexModel(ILogger logger) { _logger = logger; } public void OnGet() { } public void OnPostSubmit1() { MyTestDetails = new List(); TestDetails testdata = new TestDetails(); testdata.test1 = "testing1"; testdata.test2 = "testing2"; MyTestDetails.Add(testdata); tester = "this is my test"; } public void OnPostSubmit2() { foreach (TestDetails test in MyTestDetails) { string testing = test.test1; } tester = "this is my test 2"; } } public class TestDetails { public string test1 { get; set; } public string test2 { get; set; } } 专用只读ILogger\u记录器; 公共字符串PopupMessage{get;set;} 公共列表MyTestDetails{get;set;} 公共字符串测试器{get;set;} 公共索引模型(ILogger记录器) { _记录器=记录器; } 公共互联网 { } PostSubmit1()上的公共无效 { MyTestDetails=新列表(); TestDetails testdata=新的TestDetails(); testdata.test1=“testing1”; testdata.test2=“testing2”; 添加(testdata); tester=“这是我的测试”; } PostSubmit2()上的公共无效 { foreach(MyTestDetails中的TestDetails测试) { 字符串测试=test.test1; } tester=“这是我的测试2”; } } 公共类测试详细信息 { 公共字符串test1{get;set;} 公共字符串test2{get;set;} } 只是想弄明白我如何才能坚持我的测试细节 您需要了解的最重要的一点是,输入隐藏控件不能直接存储list object的值,这就是为什么您不能在 OnPostSubmit2 中获取 MyTestDetails 的内容 为了解决这个问题,您可以通过循环 Model.MyTestDetails 来获取 MyTestDetails 中的每组数据,并在每个循环中创建两个输入隐藏控件,分别存储MyTestDetails下的 test1 和 test2 字段值 以下是第页中的完整代码: @page @model WebApplication1_rzaor_page.IndexModel @{ ViewData["Title"] = "Index"; Layout = "~/Pages/Shared/_Layout.cshtml"; } Welcome Learn about building Web apps with ASP.NET Core. Submit1 @if (Model.MyTestDetails != null) { @for (int i = 0; i < Model.MyTestDetails.Count; i++) { } } Submit2 @page @模型WebApplication1\u rzaor\u page.IndexModel @{ ViewData[“标题”]=“索引”; Layout=“~/Pages/Shared/_Layout.cshtml”; } 欢迎 了解 提交1 @if(Model.MyTestDetails!=null) { @for(int i=0;i 以下是测试结果: 太棒了!感谢您的帮助,并提供了一个很好的答复。我现在明白了。如果我的答案帮助你解决了你的问题,请接受它作为答案ASP 变量,这将帮助其他有同样问题的人更容易找到答案。 (编辑:天瑞地安资讯网_瑞安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

