gpt4 book ai didi

javascript - 如何将 JavaScript 变量传递给服务器端方法

转载 作者:行者123 更新时间:2023-11-28 19:30:09 25 4
gpt4 key购买 nike

我面临的问题是,我无法将 javascript 变量传递到服务器端,我知道在这种情况下这是无法实现的,所以我尝试使用 jQuery 将值设置为 asp 隐藏字段,并获取服务器端的标签,但不幸的是我得到的隐藏字段为空值。帮我解决这个问题

代码

$(document).ready(function(){
var DataID = "4325";
testDataVal(DataID);
});

function testDataVal(DataID){

<%=RenderMethod(DataID) %> // How to pass javascript variable to server side

}
<小时/>

隐藏字段方法:

$(document).ready(function(){
var DataID = "4325";
testDataVal(DataID);
});

function testDataVal(DataID){
$("#<%=hdnDataVal.ClientID %>").val(DataID);

alert($("#<%=hdnDataVal.ClientID %>").val(DataID)); // Here using javascript I can able to set the value and when I alert the value it is displayed

<%=RenderMethod(hdnDataVal.Value) %> // here the hiddenfield value is empty

}

<asp:HiddenField runat="server" ID="hdnDataVal" />

最佳答案

首先...您不应该按照您的方式混合服务器代码和客户端代码。

这是一种糟糕的代码设计方式。始终尝试将客户端和服务器代码分开。它们在不同的时刻、地点和不同的情况下执行...将它们放在一起最终会让您遇到难以调试的错误。

我敢打赌,您在这里遇到的问题是由于这种编码方式造成的。

你在代码片段中说

<%=RenderMethod(hdnDataVal.Value) %>  // here the hiddenfield value is empty

当您的页面加载并执行服务器代码时, $(document).ready() 内的代码尚未触发,因为它会在整个页面完成加载时触发。因此,您的 RenderMethod 在您将任何值放入变量之前就会触发。

关于javascript - 如何将 JavaScript 变量传递给服务器端方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26988957/

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