加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网_瑞安站长网 (https://www.ruian888.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

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.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 变量,这将帮助其他有同样问题的人更容易找到答案。
 

(编辑:天瑞地安资讯网_瑞安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!