[英]SharePoint postback issue
我已经使用sendMail函数创建了Web部件表单。
protected void btnSubmitForm_Click(object sender, EventArgs e)
{
SendEmail();
ClearFields();
}
但是,当页面加载邮件时也会发送邮件(带有最后的字段数据),而不仅仅是单击按钮...有人知道解决方案吗? 非常感谢!
我创建了CustomControl并将其添加到webpart。 我已使用将Web部件添加到页面布局中。 后面的代码和html代码在CustomControl中:
受保护的无效Page_Load(对象发送者,EventArgs e){
if (SPContext.Current.FormContext.FormMode == SPControlMode.Edit)
{
foreach (BaseValidator val in Page.GetValidators("Form"))
{
val.Enabled = false;
}
btnSubmitForm.Enabled = false;
}
}
protected void btnSubmitForm_Click(object sender, EventArgs e)
{
try
{
SendEmail();
}
catch (Exception ex)
{
ExceptionHelper.LogException(ex);
}
ClearFields();
}
我找到了解决方案。 我添加了下一个代码:
if (!String.IsNullOrEmpty(txtName.Text))
{
try
{
SendEmail();
}
catch (Exception ex)
{
ExceptionHelper.LogException(ex);
}
ClearFields();
Response.Redirect("#");
}
它对我有用,因为重定向到同一页面后,每次刷新后,仅通过提交表单就不会发送邮件。 也许这不是一个很好的解决方案,但可以!
PS您还可以使用此重定向Response.Redirect(Request.Url.ToString())代替以前的
您应该考虑IsPostback 。 另外, 请参阅此答案 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.