asp.net mvc4中bootstrap datetimepicker控件的使用
前段時間寫了一篇關(guān)于調(diào)用阿里大于的短信接口來開發(fā)例會短信群發(fā)通知功能的文章http://m.fzitv.net/article/94142.htm,其中的例會時間是需求中的重中之重,它需要滿足“格式化”,“易輸入”這兩點,對短信費用關(guān)心的開發(fā)者要知道長短信是兩條短信費用之和,因此,例會時間不能隨意交給用戶自定義輸入;要考慮到“易輸入”這點,只能選擇日期選擇控件來輔助用戶輸入,由于日期選擇控件較為小巧使用,在頁面中引入并不是難事。在本篇文章中,使用的是bootstrap的datetimepicker控件,如今bootstrap廣泛使用,加之項目里用的也是bootstrap框架快速搭建界面的,這樣一來選擇這款日期控件也能較省資源,在這里呈上它的效果圖:

這里想分享以下我在引入datetimepicker資源時遇到的一個問題解決方法,這里你需要引入bootstrap-datetimepicker.css和bootstrap-datetimepicker.js,但是引入資源前,你需要在asp.net mvc 中的BundleConfig.cs稍作改變,要說明的是,這個日期控件依賴jquery.js和bootstrap.js,這些資源引用有時要考慮有先后順序,應(yīng)該先引用jquery.js再bootstrap.js便是bootstrap-datetimepicker.js。如果遇到控件點擊無反應(yīng),可以使用火狐瀏覽器在控制臺查看頁面遇到的錯誤。
在引用完資源后,這里對html結(jié)構(gòu)不再說。要知道的在下載的控件zip壓縮包里,有示例html,這很方便進(jìn)行操作。現(xiàn)在解決了易輸入的需求,再之是格式化,好在這個日期控件得到的日期時間已經(jīng)是規(guī)范化的,但有一個問題,選擇的時間是英文的,是否需要漢化也是一個考慮的方向。

項目里對時間要求的格式為如:10月04。這里不考慮漢化,在后臺代碼中對字符串處理,得到預(yù)期的時間日期。這里可以采用ajax提交選擇的日期。先在在action中做處理:
public ActionResult SmsSendForMeeting(FormCollection Form)
{
string Operator = Form["Operator"] ;//發(fā)送者
string Department =Form["Department"] ;//部門名稱
string Time = Form["Time"].ToString();//設(shè)定的時間
//對日期進(jìn)行處理
//日期格式:"18 September 2016 - 08:30 pm"
Time = sp.DateParse(Time);//調(diào)用日期處理函數(shù)
//省略其他無關(guān)代碼
return View();
}
這里用到了DateParse()方法,這是解決日期格式轉(zhuǎn)換的方法。這里的思路就兩條,一個是將年份和空格去掉,一個便是將英文月份轉(zhuǎn)換為數(shù)字月份,也就是string的操作。
public string DateParse(string Time)
{
//string Time = "19 January 2016 - 09:00 pm";
Time = Time.Replace(" ", "");//去除空格
string day = Time.Substring(0, 2) + "日";//取出“日”
int c = Time.LastIndexOf(":") - 2;
string DetailTime = Time.Substring(c);//具體到小時分鐘
int b = Time.LastIndexOf("201");//這里不是2016
Time = Time.Remove(b);
string month = Time.Remove(0, 2);//月份
switch (month)
{
case "January":
month = "1月";
break;
case "February":
month = "2月";
break;
case "March":
month = "3月";
break;
case "April":
month = "4月";
break;
case "May":
month = "5月";
break;
case "June":
month = "6月";
break;
case "July":
month = "7月";
break;
case "August":
month = "8月";
break;
case "September":
month = "9月";
break;
case "October":
month = "10月";
break;
case "November":
month = "11月";
break;
case "December":
month = "12月";
break;
}
string DateTime = month + day + DetailTime;//得到->9月18日08:30pm
return DateTime;
}
這里就是用到的switch ()函數(shù)和string操作如substring、replace、indexof、remove等,處理的思路有許多,在這里是從左到右處理字符串。DateParse()函數(shù)最后返回就是需要的10月4日,這樣就滿足了對例會短信日期“格式化”和“易輸入”的需求。如果我思路和方法有誤,懇請各位指正,虛心求教。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Bootstrap中datetimepicker使用小結(jié)
- bootstrap日歷插件datetimepicker使用方法
- Bootstrap3 datetimepicker控件使用實例
- AngularJs中Bootstrap3 datetimepicker使用實例
- bootstrap-datetimepicker實現(xiàn)只顯示到日期的方法
- bootstrap datetimepicker2.3.11時間插件使用
- 基于bootstrap-datetimepicker.js不支持IE8的快速解決方法
- Bootstrap時間選擇器datetimepicker和daterangepicker使用實例解析
- angularjs封裝bootstrap時間插件datetimepicker
- bootstrap datetimepicker實現(xiàn)秒鐘選擇下拉框
相關(guān)文章
SqlDataReader生成動態(tài)Lambda表達(dá)式
這篇文章主要介紹了SqlDataReader生成動態(tài)Lambda表達(dá)式,需要的朋友可以參考下2017-04-04
Visual?Studio2022創(chuàng)建WebAPI項目步驟記錄
不管是前后端分離還是提供數(shù)據(jù)服務(wù),WebApi使用的越來越廣泛,而且.NET Core也是我們.NET開發(fā)人員未來發(fā)展的趨勢,所以說學(xué)會使用.NET Core Api是非常有必要的,這篇文章主要給大家介紹了關(guān)于Visual?Studio2022創(chuàng)建WebAPI項目步驟的相關(guān)資料,需要的朋友可以參考下2024-01-01
使用EF的Code?First模式操作數(shù)據(jù)庫
這篇文章介紹了使用EF的Code?First模式操作數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03
aspx中的mysql操作類sqldatasource使用示例分享
服務(wù)器裝了mysql odbc驅(qū)動,想在那個iis上操作另一個服務(wù)器的mysql,找到個.net的sqldatasource類可以操作mysql,下在把使用方法分享一下2014-01-01
如何判斷?.NET?Core?應(yīng)用程序以管理員身份運行的
這篇文章主要介紹了如何判斷?.NET?Core?應(yīng)用程序是以管理員身份運行的,我們需要知道當(dāng)前程序是否以管理員身份運行,以便執(zhí)行一些需要特殊權(quán)限的操作,下面為我們就來學(xué)習(xí)具體的方法吧,需要的朋友可以參考一下2022-03-03

