如何删除表单提交中 URL 末尾的"%2F"字符



提交一个表单时,该表单给出了两个GUID值作为查询字符串,最后我得到2%F,使最后一个GUID无效

<div>
<form name="searchbox">
<div class="form-group">
<div class="form-group">
@{
var vStatuses = ViewBag.vStatuses as ICollection<VehicleStatus>;
foreach (var vStatus in vStatuses)
{
<input type="radio" name="status" value=@vStatus.Id />
@vStatus.Label
}
}
</div>
<div class="form-group">
@{
var vTypes = ViewBag.vTypes as ICollection<VehicleType>;
foreach (var vType in vTypes)
{
<input type="radio" name="type" value=@vType.Id/>
@vType.Label
}
}
</div>
</div>
<input class="btn" type="submit" />
</form>
</div>

这是我使用的形式。提交后,它将定向到类似 url

https://localhost:44355/Vehicles?status=f4140f8f-19e2-46d9-8d21-29a9766c0f48&type=c07f4dd0-44d2-4c82-b174-76849d010c95%2F

这使得最后一个 GUID 无效,我想有一个没有最后一个%2F的 URL

请注意,代码中的vType.Id/之间没有空格:

@vType.Id/>

结果,你上面的代码将被渲染成如下的东西:

<input type="radio" name="type" value="9abef00b-9391-488a-864a-ece7d9be81ef/">

请注意,该值是9abef00b-9391-488a-864a-ece7d9be81ef/而不是纯 GUID(应为9abef00b-9391-488a-864a-ece7d9be81ef(。

要解决此问题,请用""将其包装或在它们之间添加一个空格:

<input type="radio" name="type" value="@vType.Id" />

最新更新