gpt4 book ai didi

javascript - 注册 razor @Html.HiddenFor 的 onchange 事件

转载 作者:行者123 更新时间:2023-11-28 20:13:40 26 4
gpt4 key购买 nike

我正在使用 asp.net mvc 4、jquery 和 razor。我认为以下是 Razor 声明:

@Html.HiddenFor(m => m.MyItemViewModel.id);

当它的值发生变化时,我需要调用 jquery/javascript 函数。所以我想过将 jquery/javascript 函数订阅到 HiddenFor razor 标签的 onchange 事件,但我不知道是否可行。

我已经实现了下面的代码,但它似乎不起作用,因为未达到 OnHiddenValueChanged:

@Html.HiddenFor(m => m.ItemCompViewModel.id, new { onchange="OnHiddenValueChanged" });

<script>
function OnHiddenValueChanged() {
}
</script>

或者更好的是,如何从 View 中检测 m.ItemCompViewModel.id (我的 View 模型的项目)何时发生更改,然后调用 jquery/javascript 函数?

有什么想法吗?

最佳答案

您似乎正在尝试订阅 onchange 客户端函数,以获取在服务器上生成且仅在服务器上更改的值。所以这个客户端函数永远不会被触发是正常的。实际上,您从未使用过任何 JavaScript 来更改隐藏字段的值,因此您不能期望引发此回调。

如果您要修改服务器上的值,则由服务器来告诉客户端该值已更改。例如,您的 View 模型上可以有一些附加属性,表明该值已更改(无论这在您的上下文中意味着什么 - 因为已更改。必须始终与某些先前的状态进行比较)。然后在客户端上,您可以将此属性序列化为 JavaScript 变量,以便客户端了解服务器上发生的更改。

关于javascript - 注册 razor @Html.HiddenFor 的 onchange 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19518551/

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