Попробуйте, это сработает ...
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'mail.domain.com';
$config['smtp_port'] = '587';
$config['smtp_timeout'] = '7';
$config['smtp_user'] = 'domain email here';
$config['smtp_pass'] = 'email password here';
$config['charset'] = 'utf-8';
$config['newline'] = "\r\n";
$config['mailtype'] = 'html'; // or html
$config['validation'] = TRUE; // bool whether to validate email or not
$this->email->initialize($config);
$this->email->from('email here', 'Email Name');
$this->email->to('email to');
$this->email->subject('subject here');
$this->email->message('message here');
$this->email->send();
Вы можете использовать это, чтобы получить список всех названий месяцев и просмотреть его.
CultureInfo.CurrentCulture.DateTimeFormat.MonthNames
Вы можете используйте это следующим образом ... используя индекс месяца в качестве значения для вашего раскрывающегося списка
var months = CultureInfo.CurrentCulture.DateTimeFormat.MonthNames;
for (int i = 0; i < months.Length; i++)
{
ddl.Items.Add(new ListItem(months[i], i.ToString()));
}
Расширение ответа @Jesse Brown ...
С помощью директивы , использующей System.Globalization , у меня есть следующий код:
for (int x = 0; x < 12; x++)
{
cboMonth.Items.Add
(
(x+1).ToString("00")
+ " "
+ CultureInfo.CurrentCulture.DateTimeFormat.MonthNames.GetValue(x)
);
}
Это создает выпадающий список, который выглядит так:
01 января 02 февраля 3 марта ... 12 декабря
Еще одно уточнение может сделать отображаемый месяц текущим месяцем, добавив:
cboMonth.Text = DateTime.Now.Month.ToString("00")
+ " "
+ CultureInfo.CurrentCulture.DateTimeFormat.MonthNames.GetValue(DateTime.Now.Month);
После цикла for.
Вот мое решение, которое очень похоже на решение @ jesse-brown (принятый ответ)
VB.NET:
В классе глобальных функций:
Public Shared Function GetMonthList() As Generic.Dictionary(Of String, String)
Dim months As New Generic.Dictionary(Of String, String)()
For m As Int32 = 1 To 12
months.Add(String.Format("{0:0#}", m), CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(m))
Next
Return months
End Function
Вкл. страница ASPX:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ddMonth.DataSource = GlobalFunctions.GetMonthList()
ddMonth.DataValueField = "Key"
ddMonth.DataTextField = "Value"
ddMonth.DataBind()
End Sub
Эта реализация реализована в VB.NET, потому что именно это и используется этим веб-приложением (устаревшее), однако большое спасибо за примеры на C # (мой предпочтительный язык), я публикую VB .NET здесь, чтобы помочь сообществу VB.NET.
Для ASP.NET MVC это то, что я делаю.
Примечание Я предпочитаю использовать скрытый код для подобных вещей - он по-прежнему является частью представления, и нет ничего плохого в представлении, создающем список SelectList.
PaymentControl.ascx
<%= Html.DropDownList("ExpirationMonth", ExpirationMonthDropdown)%> /
<%= Html.DropDownList("ExpirationYear", ExpirationYearDropdown)%>
PaymentControl.ascx .cs
public partial class PaymentControl : ViewUserControl<CheckoutModel>
{
public IEnumerable<SelectListItem> ExpirationMonthDropdown
{
get
{
return Enumerable.Range(1, 12).Select(x =>
new SelectListItem()
{
Text = CultureInfo.CurrentCulture.DateTimeFormat.AbbreviatedMonthNames[x - 1] + " (" + x + ")",
Value = x.ToString(),
Selected = (x == Model.ExpirationMonth)
});
}
}
public IEnumerable<SelectListItem> ExpirationYearDropdown
{
get
{
return Enumerable.Range(DateTime.Today.Year, 20).Select(x =>
new SelectListItem()
{
Text = x.ToString(),
Value = x.ToString(),
Selected = (x == Model.ExpirationYear)
});
}
}
}