Проблема обратной передачи SharePoint - PullRequest
0 голосов
/ 03 апреля 2012

Я создал форму веб-части с функцией sendMail.

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

Но когда страница загружает почту тоже (с данными последних полей), не только нажатием кнопки ... Может кто-нибудь знает решение? Большое спасибо!

Я создал CustomControl и добавил их в веб-часть. Веб-часть, которую я добавил в макет страницы, используя. Код позади и HTML-код находится в CustomControl:

защищенный void 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();


    }

Ответы [ 2 ]

0 голосов
/ 04 апреля 2012

Я нашел решение.я добавил следующий код:

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

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


            } 

Это работает для меня, потому что после перенаправления на ту же страницу, почта не отправляется после каждого обновления, просто отправив форму.Возможно, это не очень хорошее решение, но оно работает!

PS Вы также можете использовать это перенаправление Response.Redirect (Request.Url.ToString ()) вместо предыдущего

0 голосов
/ 03 апреля 2012

Вы должны принять во внимание IsPostback .Также см. Этот ответ .

...