Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试获取用户输入并写入文件_C#_Javascript_Asp.net - Fatal编程技术网

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生命周期感到困惑。在您的特定情况下,发生了以下情况:

  • 您的页面被请求,ASP.NET运行时将加载您的代码并尝试执行页面
  • 在执行页面的过程中,ASPX包含要调用的代码

     saveAddress s = save()
    
    通过这种方式,在页面被呈现回客户机之前调用该方法

  • 当页面最终被发送到客户端时,您有一些客户端代码调用
    函数save()

  • 我猜您希望在javascript函数运行后调用服务器端方法。您有两个选择:

  • 完全回发-您将表单回发到服务器,您的ASPX代码可以在那里有一些代码来检查
    页面。IsPostBack
    ,并尝试调用服务器端方法
  • Ajax—您可以向站点上的特定处理程序发出Ajax请求,然后调用服务器端的
    save
    方法
    您似乎对在服务器和客户端代码之间传输值感到困惑。查看标记会很有用。我假设您使用的是webforms
    控件。为了将值传输到服务器,您需要发布一个表单或制作一个
    XMLHttpRequest。
    还有其他方法,但我们现在只使用这两种方法

    还要记住,如果这些标签是服务器控件,则它们的值存储在viewstate中。使用javascript修改值不会影响视图状态。我建议将这些值存储在一个隐藏的表单输入字段中。单击服务器端,将保存逻辑添加到保存中。

    注释

    你不想使用

    file.Close();
    

    当您使用“using(){}”时,

    由服务器执行,在s.latitude和s.longitude被填充之前,因此它们返回空白,这是一条注释,而不是答案。
    file.Close();