gpt4 book ai didi

jquery - MVC 帮助链接 Url.Action 不再解析

转载 作者:行者123 更新时间:2023-12-01 06:44:05 25 4
gpt4 key购买 nike

在我的一个 View 中,我有一个帮助链接,它显示一个 jquery ui 对话框,描述该字段的用途。

我的看法:

@using (Html.BeginForm("OptionalFields", "Home"))
{
@Html.HiddenFor(m => m.ConfigID)
@Html.LabelFor(m => m.CampaignName)
@Html.TextBoxFor(m => m.CampaignName) <a href="#" class="helplinkcampaign">help</a>
@Html.LabelFor(m => m.LeadStatus)
@Html.TextBoxFor(m => m.LeadStatus) <a href="#" class="helplinkstatus">help</a>
@Html.LabelFor(m => m.UserOwnerName)
@Html.TextBoxFor(m => m.UserOwnerName) <a href="#" class="helplinkowner">help</a>
<p><input type="submit" id="optionalfields" value="Save" /></p>
}

我为上面链接标签中的每个类都有一个 jquery 事件处理程序。示例:

$(document).on("click", ".helplinkcampaign", function () {
var url = '@Url.Action("Campaign", "Home")';
$("#divPopup").dialog('option', 'title', 'Campaign Name Help');
$.get(url, function (data) {
$("#divPopup").html(data);
$("#divPopup").dialog("open");
});
});

如您所见,我将 URL 解析为 Controller 操作结果并下载该 View 的内容,并在 jquery ui 对话框中显示该内容。

此页面正在进行中,但从昨天开始工作,今天已停止。我收到的错误是:

Failed to load resource: the server responded with a status of 404 (Not Found)

控制台中旁边的链接是

http://localhost:12345/Home/@Url.Action(%22Campaign%22,%20%22Home%22)

而不是

http://localhost:12345/Home/Campaign

我知道在这种情况下我可以手动将 url 变量设置为营销事件,但我更喜欢让 MVC 解决它。

有什么原因导致此问题停止解决吗?

最佳答案

正如@Y.Tceretian指出的,可能是您将js代码移动到单独的js文件中,因此如果它不在 View 中而是在js文件中,则不会执行razor代码。

你可以做的是,你可以使用 data 属性来设置 url,然后在点击事件中读取它,如下所示:

@Html.TextBoxFor(m => m.CampaignName) 
<a href="#" data-url="@Url.Action("Campaign", "Home")" class="helplinkcampaign" >help</a>

然后你的 jquery click 事件处理程序读取属性值:

$(document).on("click", ".helplinkcampaign", function () {
var url = $(this).data("url"); // note this
$("#divPopup").dialog('option', 'title', 'Campaign Name Help');
$.get(url, function (data) {
$("#divPopup").html(data);
$("#divPopup").dialog("open");
});
});

关于jquery - MVC 帮助链接 Url.Action 不再解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41190265/

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