在这一点上,我已经被这个问题困扰了几个小时,我无法弄清楚这个问题。
我们的团队有一个更新在线 javascript 文件的系统,
当我更新 1.js 文件时,有人还想更新 1.js 文件,
他们将执行以下步骤:
- 选择 2.js
- 然后选回 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>