【问题标题】:ASP.NET - route id to page but in page is nullASP.NET - 将 id 路由到页面但在页面中为空
【发布时间】:2023-03-14 13:36:01
【问题描述】:

我有路线问题,

使用此标记:

<td><a asp-page="./EditNew" asp-route-testId=@Model.TestId asp-route- 
testCaseId=@Model.Id class="btn btn-success">Edit</a></td>

当我点击链接时,它会在 EditNew 页面中正确打开一个新的引导模型。

但如果我将此行添加到a 标签:

data-target="#myModal" data-toggle="modal"

然后asp-route-testId 和asp-route-testCaseId 以testId=null 和testCaseId=0 的形式发送到OnGet()。

如果我删除data-target="#myModal" data-toggle="modal" 一切正常。

为什么我的链接中没有data-target 和data-toggle 属性?

【问题讨论】:

  • 我不太明白你在问什么,如果我将问题编辑成我认为你问的内容可以吗?

标签: asp.net twitter-bootstrap razor-pages


【解决方案1】:

我认为您正在尝试以一种行不通的方式混合 Asp.Net 和 bootstrap。

如果您想使用引导程序在模态对话框中显示 EditNew 标记,那么只需将 @Model.Id 和 @Model.TestId 的 razor 标签直接放入模态对话框标记中。

让我们使用https://getbootstrap.com/docs/4.0/components/modal/ 中的代码作为此示例。请注意,我已将 @Model.Id 和 @Model.TestId 直接放入标记中:

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" >Id is @Model.Id and TestCase Id @Model.TestId</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        ...
      </div>
    </div>
  </div>
</div>

为什么?

因为像@Model.TestId 这样的剃须刀标签会在页面加载之前在生成标记时进行评估。因此,它们可以嵌入到标记中,但不能在页面加载后再次评估。

Google asp.net razor 开始使用以获得更多信息。

【讨论】:

  • 谢谢,我怎么能用另一个页面(EditNew)来测试用例 ID
  • 我想这就是你的问题中已有的内容?如果您不使用模式对话框,那么您的 &lt;a asp-page="EditNew" asp-route-testId=@Model.TestId asp-route- testCaseId=@Model.Id class="btn btn-success"&gt;Edit&lt;/a&gt; 会将您带到带有路由参数的 EditNew 页面?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-28
  • 2013-08-05
  • 2022-11-20
  • 2014-09-11
相关资源
最近更新 更多