我的頁面有一個標籤和一個下拉列表,其中包含時區。每當時區下拉列表中的值發生變化時,是否可以自動更改標籤文本以從下拉列表中顯示選定的值?我該怎麼去做呢?如何更改下拉列表時更新標籤
回答
您可以編寫一個javascript函數來更新您的標籤並從您的下拉列表的onchange屬性中調用該函數。
使用Ajax或客戶端JavaScript來檢測何時下拉選擇。 如果你確實要去javascript,確保這個行爲也適用於javascript關閉。 I.E.提交頁面並更新服務器端的標籤。
要重新加載標籤,您必須在DropDownList中設置AutoPostBack。 所以你可以在Page_Load上使用TimeZoneInfo。在MSDN上找到
所有的// Get Tokyo Standard Time zone
TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time");
DateTime tstTime = TimeZoneInfo.ConvertTime(thisTime, TimeZoneInfo.Local, tst);
Console.WriteLine("Time in {0} zone: {1}", TimeZoneInfo.Local.IsDaylightSavingTime(tstTime) ?
tst.DaylightName : tst.StandardName, tstTime);
Console.WriteLine(" UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(tstTime, tst));
首先你要查找ID時區。您可以使用此方法檢索所有ID:
System.Collections.ObjectModel.ReadOnlyCollection<TimeZoneInfo> TimeZoneColl = TimeZoneInfo.GetSystemTimeZones();
然後在foreach cicle你可以得到的ID和綁定的下拉列表值。
畢竟你只有parametizer像這樣的例子:
TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById(*dropdownlistselectedvalue*);
DateTime tstTime = TimeZoneInfo.ConvertTime(thisTime, TimeZoneInfo.Local, tst);
Label1.Text = tstTime;
這就是你如何綁定你的下拉列表:
System.Collections.ObjectModel.ReadOnlyCollection<TimeZoneInfo> TimeZoneColl = TimeZoneInfo.GetSystemTimeZones();
ddlTimeZones.DataSource = TimeZoneColl;
ddlTimeZones.DataTextField = "StandardName";
ddlTimeZones.DataValueField = "Id";
ddlTimeZones.DataBind();
這是一個工作示例:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
System.Collections.ObjectModel.ReadOnlyCollection<TimeZoneInfo> TimeZoneColl = TimeZoneInfo.GetSystemTimeZones();
ddlTimeZones.DataSource = TimeZoneColl;
ddlTimeZones.DataTextField = "StandardName";
ddlTimeZones.DataValueField = "Id";
ddlTimeZones.DataBind();
}
else
{
ShowTime();
}
}
private void ShowTime()
{
DateTime thisTime = DateTime.Now;
TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById(ddlTimeZones.SelectedValue);
DateTime tstTime = TimeZoneInfo.ConvertTime(thisTime, TimeZoneInfo.Local, tst);
lblShowTime.Text = tstTime.ToShortTimeString();
}
}
在名爲「ddlTimeZones」的頁面和名爲lblShowTime的標籤上只添加一個下拉列表。
希望它有幫助...
非常感謝你 – Manish 2011-05-04 11:15:30
先生,有可能在 錯誤TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById(DropDownList2.SelectedValue); – Manish 2011-05-05 04:55:25
什麼是SelectedValue?它一定是這樣的'太平洋標準時間'。你可以通過調用System.Collections.ObjectModel.ReadOnlyCollection
- 1. 傳統下拉框的值更改後,如何更新標籤?
- 2. 更改標籤時,點擊下拉列表中的jquery javascript
- 3. 如何更改TComboBox的下拉列表?
- 4. 使用php-ajax更新另一個下拉列表的更改下拉列表
- 5. HTML下拉列表更改
- 6. 下拉列表已更改
- 7. 更改下拉列表值
- 8. 即時更改下拉列表數據
- 9. CakePHP - 更新下拉列表
- 10. 更改下拉列表時更改HTML表格的值
- 11. 更改selectedindexchanged下拉列表中的標籤文本
- 12. 使用jquery從下拉列表更改標籤文本
- 13. 在MVC項目中,如何在下拉列表更改值時更新模型?
- 14. Django管理員更改下拉標籤
- 15. 其他標籤更改時如何更改標籤?
- 16. 在更改下拉列表時更改文本框的值
- 17. 如何刷新頁面上的下拉列表值更改?
- 18. 如何在另一個下拉列表更改後刷新Html.DropDownGroupList
- 19. asp.net javascript - 更改下拉選擇更改標籤文本
- 20. 更改下拉列表時不隱藏標題
- 21. autopackback下拉列表僅當使用鼠標進行更改時
- 22. 從GridView上更新下拉列表更改
- 23. angularjs無法更新下拉列表更改指令
- 24. 更新數據庫的下拉列表更改事件
- 25. 數據改變時下拉列表未更新
- 26. 當我更改第一個下拉列表值時,如何重新填充另一個下拉列表?
- 27. 如何在「主」下拉列表更改時重新填充「相關」下拉列表?
- 28. 如何更改gridview中的下拉列表時調用函數?
- 29. 當下拉值更改時更新html表格
- 30. 從列下拉列表中Symfony更新
它顯示一個錯誤。未在本地系統上找到選定區域 – Manish 2011-05-05 04:55:52
您使用的JavaScript是什麼? – geekchic 2011-05-05 09:07:08