0

在这一点上,我已经被这个问题困扰了几个小时,我无法弄清楚这个问题。

我们的团队有一个更新在线 javascript 文件的系统,

当我更新 1.js 文件时,有人还想更新 1.js 文件,

他们将执行以下步骤:

  1. 选择 2.js
  2. 然后选回 1.js

所以他们应该得到最新的 1.js 文件,然后他们可以更新 1.js 文件。

第一次更新的代码不应该被覆盖,但它仍然偶尔发生,

我的代码有什么问题吗?

任何意见,将不胜感激

系统图片

protected void ddl_file_SelectedIndexChanged(object sender, EventArgs e)
{
    getData();
}
protected void btn_Update_Click(object sender, EventArgs e)
{
    updateData();

    getData();
}

public void updateData()
{

     if (this.ddl_file.SelectedValue == "") { return; }
     string path = Server.MapPath(this.ddl_file.SelectedValue);
     string pathBackup = @"D:\allweb\" + this.ddl_file.SelectedValue + "_" + DateTime.Now.ToString("_yyMMddhhmmss"); 
     string data =this.txt_DESIGN_DATA.Text ;
     System.IO.File.Copy(path, pathBackup);
     System.IO.File.WriteAllText(path,data);

}
public void getData()
{
        if (this.ddl_file.SelectedValue == "") { return; }
        string path = Server.MapPath(this.ddl_file.SelectedValue);
        string data = System.IO.File.ReadAllText(path);
        this.txt_DESIGN_DATA.Text = "";
        this.txt_DESIGN_DATA.Text = data;


}


 <asp:Literal ID="Literal1" runat="server" EnableViewState="false"></asp:Literal>
    <asp:DropDownList ID="ddl_file" runat="server" AutoPostBack="true" 
        onselectedindexchanged="ddl_file_SelectedIndexChanged">
        <asp:ListItem Value="" Text=" "></asp:ListItem>
        <asp:ListItem Value="1.js" Text="1.js"></asp:ListItem>
        <asp:ListItem Value="2.js" Text="2.js"></asp:ListItem>
    </asp:DropDownList>
    <asp:Button ID="btn_Update" runat="server" Text="Update" 
        onclick="btn_Update_Click" />
    <asp:TextBox ID="txt_DESIGN_DATA" runat="server" Width="100%" TextMode="MultiLine" Rows="30"></asp:TextBox>
4

0 回答 0