我试图从c#代码后面的文件中获取用户确认,以确认用户是否想要覆盖取消操作的服务器上的现有文件,但到目前为止没有运气。
这是我的代码:
if (File.Exists(filePath))
{
string alertMsg = @"confirm('A File already exists with the same name. \n Would you like to overwrite the existing file ?');";
ScriptManager.RegisterStartupScript(this, this.GetType(), "Test", alertMsg, true);
}
else
{
fuPSD.SaveAs(filePath);
}
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
类似的东西:
创建
<asp:hiddenField id="hf" />* in the aspx file
also put on the JS location a Declaration :
var answer=null;
回到服务器:
string alertMsg = @"if (confirm('A File already exists with the same name. \n Would you like to overwrite the existing file ?')==true) answer='1'; else answer='0';";
现在在服务器端: 阅读:
hf.value
答案 1 :(得分:0)
如果文件存在,该代码将弹出消息,如果不存在则保存。
但是您需要对客户端的确认对话框结果采取一些操作,并触发回发或其他服务器调用以在覆盖的情况下执行操作。
答案 2 :(得分:0)
问题是,您的JavaScript注册会要求用户确认在下一页加载后覆盖文件。这就产生了一个问题,即告知用户是否已确认用户是否已确认或拒绝服务器。
在过去,我使用隐藏字段来切换true / false以显示来自服务器端的弹出窗口。这使我能够将事件连接到后面的代码上的委托(即使用我自己的按钮创建我自己的确认框)。你仍然可以在没有它的情况下做到这一点,我发现它会导致很多麻烦且难以跟踪脚本如callin __doPostback手动。