我正在ASP.Net和C#中保存一个表单。除了不显示保存后的消息外,每件事情都能正常工作。它在两者之间的某个地方迷路了,我无法理解为什么?
protected void btnSave_Click(object sender, EventArgs e)
{
int fisherId;
try
{
if (ValidateControls())
{
_traceLog.AppendLine("Fisheries Registration Form saving : btnSave_Click() ");
FillDemographicsObjects();
if(_manager.CreateFisherDemographics(_demographics, _address, "Test User",out fisherId))
{
/*ShowMessage(IntertribalFishriesResource.msgSaveSuccess);*/
if (_shared.SendMailToFisher(fisherId))
{
_traceLog.AppendLine("Fisheries Registration Form ending : btnSave_Click() ");
Response.Redirect("~/Fisher/FisherRegistration.aspx?Id=" + fisherId, false);
}
}
}
}
catch (Exception ex)
{
_userException.CreateExceptionLog(ex);
}
finally
{
_userException.CreateTraceLog(_traceLog.ToString());
}
}
不执行以灰色文本显示的消息。 ShowMessage如下:
protected bool ShowMessage(string message)
{
if (message.Length > 0)
{
hidErrMsg.Value = message;
ScriptManager.RegisterStartupScript(upFisherRegistration, this.GetType(), "myScript", "ShowMessage();",true);
return false;
}
return true;
}
我想要实现的是,在成功保存操作后,我想显示消息并重定向页面。多数民众赞成。
答案 0 :(得分:1)
邮件将发送到当前正在加载的页面上的客户端脚本。如果下一个子句为true,则重定向将导致另一个页面加载。因此无论发送到当前页面的任何内容都没有实际意义。
答案 1 :(得分:0)
HI,
当您添加RegsiterStartupScript时,它将针对当前的Request会话执行,如果您在其后重定向,它将被写入响应,因为您的消息不会显示,因为脚本在响应中不存在。
您需要做的是在重定向网址中添加另一个参数,例如& showSaveMessage = true 并在重定向页面上检查showSavemessage是否为true添加注册启动脚本方法。
我希望这会有所帮助