【发布时间】:2015-01-15 07:48:09
【问题描述】:
我面临的问题是我无法将 javascript 变量传递到服务器端标签在服务器端,但不幸的是我得到了隐藏字段的空值。帮我解决这个问题
代码
$(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" />
【问题讨论】:
-
您需要将变量放入表单并提交,或者使用 AJAX 请求。您不能将 JS 变量应用于 C# 代码,因为一个是客户端,另一个是服务器端。
-
@RoryMcCrossan 但如果我使用 hiddenfield 也不起作用
-
你在哪里设置
DataID的值? -
其实 Render 方法来自另一个库,它不是直接方法
-
您获得了值,但在服务器端生成页面时它是空的。当页面生成并发送到客户端时, 已经输出了一个值为空的 hdnDataVal.Value。
标签: javascript c# jquery asp.net .net