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

时间:2019-09-18 04:11:17

标签: forms url asp.net-core guid

提交一个提供两个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>

这是我使用的表格。提交后,它将定向到

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

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

的URL

1 个答案:

答案 0 :(得分:1)

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

<input type="radio" name="type" value=@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" />