2012-04-03 53 views
0

我已经使用sendMail函数创建了Web部件表单。SharePoint回发问题

 protected void btnSubmitForm_Click(object sender, EventArgs e) 
    { 
      SendEmail(); 
      ClearFields(); 
    } 

但是,当页面加载邮件发送过(与最后一个字段中的数据),不仅通过点击按钮......可能有人知道解决办法吗? 非常感谢!

我创建了CustomControl并将它们添加到webpart。 Web部分我已经添加到页面布局使用。后面的代码和HTML代码是在CustomControl:

保护无效的Page_Load(对象发件人,EventArgs的){

 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(); 


    } 
+0

可以请你发布的所有web部件的代码? – 2012-04-03 12:52:42

+0

我已经创建了CustomControl并将它们添加到webpart。 Web部件我已使用添加到页面布局。 – 2012-04-03 13:14:36

回答

0

我找到了解决方案。我已经添加了下面的代码:

if (!String.IsNullOrEmpty(txtName.Text)) 
      { 
       try 
       { 
        SendEmail(); 
       } 
       catch (Exception ex) 
       { 
        ExceptionHelper.LogException(ex); 
       } 

       ClearFields(); 
       Response.Redirect("#"); 


      } 

它为我,因为毕竟重定向到同一页面,邮件每次刷新后不发,只是通过提交表单。也许这不是很好的解决方案,但它的工作原理!

P.S您也可以使用此重定向的Response.Redirect(Request.Url.ToString()),而不是以前的