如何在 go html 模板中连接 href

How to concatenate a href in a go html template

如果有人能帮我解决这个问题,我将不胜感激。我一直在回答类似的问题,但 none 似乎对我的问题有所帮助。

我在 go 模板中有一个用户 table。在最右边的列中,我有两个用于更新和删除用户的按钮。我希望这些按钮指向将更新和删除该特定用户的 url。所以我需要在 url.

中包含用户 ID

这是代码:

<table class="table table-striped">
    <thead>
      <tr>
        <th>Id</th>
        <th>Name</th>
        <th>Date Of Birth</th>
        <th>County</th>
        <th>Books</th>
        <th>Perform Action</th>
      </tr>
    </thead>
    <tbody>
      {{ range .Users}}
      <tr>
          <td>{{ .Id }}</td>
          <td>{{ .Name }}</td>
          <td>{{ .DateOfBirth }}</td>
          <td>{{ .County }}</td>
          <td>
            {{if .Books}}
              {{ range $id, $book := .Books }}
                <li>{{ $book.Title }}</li>
              {{ end }}
            {{else}}
            No Books
            {{end}}
          </td>
          {{ $updateUrl := "http://localhost:8080/library/updateuser/" + .Id }}
          <td><a href="http://localhost:8080/library/deleteuser/"+{{ .Id }} class="btn btn-outline-dark ml-3">Update User</a><a href="http://localhost:8080/library/deleteuser/"+{{ .Id }} class="btn btn-outline-dark ml-3">Delete User</a></td>
      </tr>
      {{ end}}
    </tbody>
  </table>

在从底部开始的第 5 行中,您会看到我错误地尝试将 href 与 id 连接起来。

您不能使用 + 连接字符串。这应该有效:

<a href="http://localhost:8080/library/deleteuser/{{ .Id }}">