Отправьте электронное письмо о значении раскрывающегося списка, измененном с помощью asp.net с#

#asp.net #sql-server #visual-studio-2012 #webforms

#asp.net #sql-сервер #visual-studio-2012 #веб-формы

Вопрос:

Я пытаюсь связать адрес электронной почты, который соответствует имени в выпадающем списке на веб-сайте, который работает как служба поддержки. Так, например, если я выбрал «John», то Джон должен получить «уведомление», например, по почте, в котором говорится, что заявка зарегистрирована. Тем не менее, все работает, я просто ищу фрагмент кода или учебное пособие, которое связывает адрес электронной почты с именем в списке ddlist.

Я работаю с VS2012, Sql Server, и это обычная веб-форма, а НЕ приложение MVC.

Может кто-нибудь помочь с учебником, может быть?

Заранее спасибо

Комментарии:

1. Идентификатор электронной почты, который вам нужно будет где-то сохранить с именем? Откуда вы получаете имена из базы данных?

2. Хм, да, я думаю, если бы я создал пару пользователей и присвоил им имя. Но теперь опять же, пользовательской информацией будет имя пользователя, пароль и его адрес электронной почты. Итак, еще раз, как вы связываете этот адрес электронной почты с именем, отображаемым в ddl?

3. @starcatcher: взгляните на мой базовый пример. Надеюсь, вы получите то, что хотите. Не забудьте отметить это как ответ, если это вам поможет. Хорошего дня.

4. @spidercode Привет, чувак, спасибо. это оно!

Ответ №1:

Давайте возьмем простой пример, в котором у вас есть такие детали, как:

     Name  Email
-------------------------
    a     a@a.com
    b     b@b.com
    c     c@c.com
 

Теперь привяжите выпадающий список и задайте Имя в качестве текстового поля, а адрес электронной почты — в качестве поля значений. Здесь я показываю статический выпадающий список и предполагаю, что вы хотите отправить электронное письмо при изменении значения из выпадающего списка.

Итак, на вашей странице aspx:

 <asp:DropDownList runat="server" ID="ddlStaff" OnSelectedIndexChanged="ddlStaff_OnSelectedIndexChanged" AutoPostBack="True">
    <Items>
        <asp:ListItem Selected="True" Text="--Select--"></asp:ListItem>
        <asp:ListItem Text="a" Value="a@a.com"></asp:ListItem>
        <asp:ListItem Text="b" Value="b@b.com"></asp:ListItem>
        <asp:ListItem Text="c" Value="c@c.com"></asp:ListItem>
    </Items>
</asp:DropDownList>
 

и ваш код будет:

 protected void ddlStaff_OnSelectedIndexChanged(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(this.ddlStaff.SelectedValue))
    {
        var emailAddress = this.ddlStaff.SelectedValue;

        // Code to send an email
    }
}
 

Ссылка:

Комментарии:

1. еще раз привет, извините, но как вы реализуете ddlStaff_OnSelectedIndexChanged внутри, скажем, «Кнопки отправки»? Я пытаюсь сделать это как можно проще.

2. вы имеете в виду , что хотите отправить электронное письмо , нажав на какую — то кнопку?

3. да, например, эта кнопка должна иметь две функции. Это обновление данных в базе данных и отправка почты выбранному человеку. Я выполнил первую часть, теперь я хотел бы знать, можете ли вы закодировать электронное письмо в ddlStaff_OnSelectedIndexChnged, а затем как-то использовать это в кнопке?