C# 尝试获取用户输入并写入文件
我在尝试将地址的地理位置保存到文件时遇到问题。我使用隐藏标签来传递信息 在客户端按钮事件中,我有:C# 尝试获取用户输入并写入文件,c#,javascript,asp.net,C#,Javascript,Asp.net,我在尝试将地址的地理位置保存到文件时遇到问题。我使用隐藏标签来传递信息 在客户端按钮事件中,我有: function save() { document.getElementById("hidLat").value = y; document.getElementById("hidLon").value = x; <% saveAddress s = save(); %> } 当我点击按钮时,文件被创建,但没有保存任何内容
function save() {
document.getElementById("hidLat").value = y;
document.getElementById("hidLon").value = x;
<% saveAddress s = save(); %>
}
当我点击按钮时,文件被创建,但没有保存任何内容。
我这样做正确吗?还是有更好的方法尝试将用户输入写入文件?您确定设置了纬度和经度变量吗?试着先把它们打印出来。。
代码似乎还可以我认为您对web生命周期感到困惑。在您的特定情况下,发生了以下情况:
saveAddress s = save()
通过这种方式,在页面被呈现回客户机之前调用该方法函数save()
页面。IsPostBack
,并尝试调用服务器端方法李>
save
方法李>
您似乎对在服务器和客户端代码之间传输值感到困惑。查看标记会很有用。我假设您使用的是webforms
控件。为了将值传输到服务器,您需要发布一个表单或制作一个XMLHttpRequest。
还有其他方法,但我们现在只使用这两种方法
还要记住,如果这些标签是服务器控件,则它们的值存储在viewstate中。使用javascript修改值不会影响视图状态。我建议将这些值存储在一个隐藏的表单输入字段中。单击服务器端,将保存逻辑添加到保存中。注释
你不想使用
file.Close();
当您使用“using(){}”时,
由服务器执行,在s.latitude和s.longitude被填充之前,因此它们返回空白,这是一条注释,而不是答案。
file.Close();