在我的项目中我正在检查一些条件,如果确实是动作将发生,否则错误消息将在运行期间显示在标签中。
我的问题是,当条件失败时,光标会转到else块,代码也会出现Excecuted,但Label的文本没有改变。可能是什么问题?
条件部分是,
if (ds.Tables[0].Rows.Count > 0
&& DateTime.Parse(frmtxtdt.Text).ToString("dd/MM/yyyy") == DateTime.Today.ToShortDateString()
&& DateTime.Parse(totxtdt.Text).ToString("dd/MM/yyyy") == DateTime.Today.ToShortDateString())
{
ds.Tables[0].TableName = "Passkeys";
ds.WriteXml(Server.MapPath("~/XMLReports/_Passkeys.xml"));
string filename = Server.MapPath("~/Upload/Pkey_rpt.rpt");
rpt.Load(filename);
rpt.SetDataSource(ds);
rpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, "Passkeys");
}
else if(frmtxtdt.Text.Trim() !=null && totxtdt.Text.Trim()!=null)
{
if (DateTime.Parse(frmtxtdt.Text).ToString("dd/MM/yyyy") == DateTime.Today.ToShortDateString()
&& DateTime.Parse(totxtdt.Text).ToString("dd/MM/yyyy") == DateTime.Today.ToShortDateString()
&& ds.Tables[0].Rows.Count == 0)
{
lblmsg.Text = "Pass Key Not Yet Delivered for the Selected Date...";
//The value(lblmsg.Text) not Changing when comes here.
}
else
{
lblmsg.Text = "There is No Schedule for the Selected date....";
//The value(lblmsg.Text) not Changing when comes here.
}
}
}
catch
{
throw;
}
朋友我的问题不在于[日期时间]或[日期时间选择器],标签的文本是在运行时更改但不是显示。
还有[rpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat,Response,true,“Passkeys”); ]报告正在加载的PDF文件格式的Crystal Report Generator,XML文件中也有数据但是没有转换为PDF文件进行下载。
答案 0 :(得分:1)
错误,Web或桌面的上下文是什么? 替代方案可能是:
答案 1 :(得分:0)
此外,如果您不知道有非常方便的控件,称为“DateTimePicker”,它们是专门为选择日期而创建的。你应该试一试。
我想知道你是否在改变之前的某个地方得到了例外?
答案 2 :(得分:0)
发生这种情况是因为UI线程太多了
在设置文字后添加lblmsg.Refresh();
如果不起作用将方法移动到后台线程;但要注意交叉线程。对于简单的线程间操作,您可以使用BackgroundWorker类的ReportProgress方法
答案 3 :(得分:0)
我可以假设您有一些观察者与标签的文本字段值的更改相关联 - 所以当更改标签中的文本时,此处理程序中的代码块失败(或者工作正常,但不会假设更改实际值标签文本),更新文本失败。