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

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

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

