title: asp-route-id does not pass parameter value
body: <p>This table correctly populates with <code>@device.DeviceId</code> but does not pass <code>@device.DeviceId</code> to the controller action.</p>
  
  <pre class="lang-razor prettyprint-override"><code>&lt;table border="1" cellpadding="10"&gt;
      @foreach (var device in @Model.Devices)
      {
          &lt;tr&gt;
              &lt;td&gt;@device.DeviceId&lt;/td&gt;
              &lt;td&gt;@device.DeviceName&lt;/td&gt;
              &lt;td&gt;
                  &lt;a asp-action="DeleteDevice"
                     asp-controller="Device"
                     asp-route-id="@device.DeviceId" asp-&gt;
                      Delete
                  &lt;/a&gt;
              &lt;/td&gt;
          &lt;/tr&gt;
      }
  &lt;/table&gt;
  </code></pre>
  
  <p>The controller action signature is</p>
  
  <pre class="lang-cs prettyprint-override"><code>public async Task&lt;IActionResult&gt; DeleteDevice(int deviceId)
  </code></pre>
  
  <p>The action is called but <code>deviceId</code> = 0.</p>
  
  <p>How do I ensure <code>@device.DeviceId</code> is correctly passed to the action?</p>