hol*_*inn 1 c# asp.net datetime
我有一个TextBox持有日期的控件,通常可以null.我在插入中使用它,当我尝试插入时,我收到错误消息:
String was not recognized as a valid DateTime.
我不确定如何将null值作为日期时间传递.这是我的代码.
这Convert.ToDateTime(txtDateAction.Text)是我遇到的问题.
protected void btnLog_Click(object sender, EventArgs e)
{
PhoneLogsBLL.InsertOCASPhoneCall(
Convert.ToInt16(txtStaffID.Text),
Convert.ToDateTime(txtDate.Text),
chkAdvisoryBoard.Checked,
chkClaims.Checked,
chkDR.Checked,
chkEEOICPA.Checked,
chkOCAS.Checked,
chkPhysicianPanel.Checked,
chkPC.Checked,
chkWebsite.Checked,
chkSEC.Checked,
chkCATI.Checked,
chkNIOSH800.Checked,
chkORAU800.Checked,
chkCongressional.Checked,
chkCOI.Checked,
chkDOLOutreach.Checked,
txtDiscussion.Text,
chkActionRequired.Checked,
Convert.ToDateTime(txtDateAction.Text),
txtAction.Text,
0,
chkActivityReport.Checked);
}
public static void InsertOCASPhoneCall(
short sintStaffID,
DateTime dtmDateCalled,
bool blnAB,
bool blnClaims,
bool blnDR,
bool blnEEOICPA,
bool blnOCAS,
bool blnPhysicianPanel,
bool blnPC,
bool blnWebSite,
bool blnSEC,
bool blnCATI,
bool blnNIOSH800,
bool blnORAU800,
bool blnCC,
bool blnCOI,
bool blnDOL,
string vcharDiscussion,
bool blnActionNeeded,
DateTime dtmActionTaken,
string ActionTaken,
short sintActionTakenStaffID,
bool blnActivityReport)
{
UnitOfWorkCTS uow = new UnitOfWorkCTS();
using (var repo = new OCASPhoneCallsRepository(uow))
{
OCASPhoneCalls call = new OCASPhoneCalls();
call.dtmDateCalled = dtmDateCalled;
call.sintStaffID = sintStaffID;
call.blnAB = blnAB;
call.blnClaims = blnClaims;
call.blnDR = blnDR;
call.blnEEOICPA = blnEEOICPA;
call.blnOCAS = blnOCAS;
call.blnPhysicianPanel = blnPhysicianPanel;
call.blnPC = blnPC;
call.blnWebSite = blnWebSite;
call.blnSEC = blnSEC;
call.blnCATI = blnCATI;
call.blnNIOSH800 = blnNIOSH800;
call.blnORAU800 = blnORAU800;
call.blnCC = blnCC;
call.blnCOI = blnCOI;
call.blnDOL = blnDOL;
call.vcharDiscussion = vcharDiscussion;
call.blnActionNeeded = blnActionNeeded;
call.dtmActionTaken = dtmActionTaken;
call.sintActionTakenStaffID = sintActionTakenStaffID;
call.blnActivityReport = blnActivityReport;
repo.InsertOrUpdate(call);
uow.Save();
}
}
Run Code Online (Sandbox Code Playgroud)
您的财产应标记为
DateTime? dtmActionTaken,
Run Code Online (Sandbox Code Playgroud)
您应该首先检查其中是否textbox包含文本:
string.IsNullOrEmpty(txtDateAction.Text) ? (DateTime?)null : Convert.ToDateTime(txtDateAction.Text),
Run Code Online (Sandbox Code Playgroud)
您也应该测试以下场景:如果textbox有文本但不是有效日期,
| 归档时间: |
|
| 查看次数: |
14726 次 |
| 最近记录: |