繁体   English   中英

SharePoint回发问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM