gpt4 book ai didi

asp.net - @Url.Action 在参数之间添加 "amp;"在 Controller 中创建空值?

转载 作者:行者123 更新时间:2023-12-02 04:46:58 26 4
gpt4 key购买 nike

我正在尝试通过 Url.Action 发送多个参数。

$('#dialog').dialog({
autoOpen: false,
width: 850,
height: 420,
resizable: false,
title: 'Vehicle details',
modal: true,
open: function (event, ui) {
$(this).load("@Url.Action("LightStoneRequest", new { registrationNumber = Model.VehicleRegistration, vinNumber = Model.vVinNumber })");
},
buttons: {
"Close": function () {
$(this).dialog("close");
}
}
});

在运行时,它看起来如下:

$(this).load("/APQuotes/LightStoneRequest?registrationNumber=TE5TGP&vinNumber=VINTEST44889856");

enter image description here

正如您所看到的,有一个 vin 号通过,但在我的 Controller 中它为空。

这是我的模态。

public partial class LightStoneRequest
{
public LightStoneRequest()
{
this.LightStoneDataFields = new HashSet<LightStoneDataField>();
}

public int LightStoneRequestId { get; set; }
public string RegistrationNumber { get; set; }
public string VinNumber { get; set; }

public virtual ICollection<LightStoneDataField> LightStoneDataFields { get; set; }
}

如果我移除放大器;它可以工作,但是 URL.Action 添加了 amp;。

最佳答案

Url.Action这不是问题 - 问题在于你如何使用它。

您正在使用@ - 用于将一段服务器端代码的结果内联到 (X)HTML 页面中。在 (X)HTML 页面中,实体必须正确编码,从而将您的 &进入&amp; 。这是完全正确的行为 - 例如,这就是它应该内联到文本或属性中的方式(这就是您在例如 <a href="@..."> 中使用它的原因)。

但是,您尝试内联原始值,而不是编码值 - 因为您不是尝试发出 HTML,而是发出原始文本。 Html.Raw就是这样做的:

@Html.Raw(Url.Action("Test", new { arg1 = "Hi!", arg2 = "there." }))

关于asp.net - @Url.Action 在参数之间添加 "amp;"在 Controller 中创建空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33479288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com