我有一个在js中运行的图表程序,但是我需要使用c#更新excel与数据。所以,到目前为止我所做的是创建隐藏的输入字段,其值使用js变量更新:
<input type="hidden" name="baselineInput" id="baselineVariable" />
<input type="hidden" name="goalInput" runat="server" id="goalVariable" />
<input type="hidden" name="currentInput" runat="server" id="currentVariable" />
//do some things here
var MTDGauge = new Array(5,5,5);
document.getElementById("baselineVariable").value = MTDGauge[0];
document.getElementById("goalVariable").value = MTDGauge[1];
document.getElementById("currentVariable").value = MTDGauge[2];
我遇到的问题是将这些值读回c#变量。这是我尝试过的(放在上面的代码之后):
List<string> OverallData = new List<string>();
OverallData.Add(Request["baselineInput"]);
OverallData.Add(Request["goalInput"]);
OverallData.Add(Request["currentInput"]);
这只是添加空值(假设是这样,因为c#在javascript之前加载,文本字段的初始值为null?)。我想创建一个可以使用输入字段中的onchange选项调用的c#函数,但这并没有让我到处都是。有什么我想念的吗?我必须做一个帖子吗?
由于
答案 0 :(得分:2)
是的,要将数据恢复到服务器(运行C#的位置),您需要将其发回。
POST是一种方式,或GET将值添加到查询字符串。
Javascript只在浏览器中运行,直到您将某些内容发送回服务器,您的ASP.NET应用程序将没有任何信息。
当然,如果您想异步执行此操作,可以使用jQuery.ajax将数据发送到服务器URL而不刷新整个页面。