100分求助字符串相等的问题,顶者有分
CS页面
model.syfl = ddlSyfl.SelectedItem.Text;-----DROPDOWNLIST的值是从数据库读取的
业务逻辑层
public bool Validate(Page page, db.Etswk model,JDBGeneral.OperateMode10 opMode)
{
string strMsg = "以下条件不符合: ";
if ((dt6 > 366) && ((model.syfl == "早产或低出生体重 "))
请教为什么DDL选择的TEXT为“早产或低出生体重”,model.syfl == "早产或低出生体重 "))为什么不相等
------解决方案--------------------怎么看你最后那一句话觉得拗口
能描述清楚点么
------解决方案--------------------好象是编码的问题
------解决方案--------------------估计是有dll加了空格或其他特殊字符
------解决方案--------------------确定移除了空格?
------解决方案--------------------DDL选择的TEXT为“早产或低出生体重”,model.syfl 等于什么
.Trim()试
------解决方案--------------------断点调试我的model.syfl的值确实为 "早产或低出生体重 ",但是这里model.syfl == "早产或低出生体重 "判断不成功,其中model.syfl的值是页面DROPDOWNLIST选择的SelectedItem.Text
------解决方案--------------------model.syfl是什么类型的?object的吗?
model.syfl.ToString()== "早产或低出生体重 "试试
------解决方案--------------------跟踪看看model.syfl的值是否 "早产或低出生体重 ",看看前后是否有空格?
------解决方案--------------------may be is space problem
------解决方案--------------------trim一下,然后测试传递到函数中之前确实是“早产或低出生体重”
------解决方案--------------------数据库阿,貌似有些编码是不一样的
------解决方案--------------------楼主的这个细节的设计本身就是有问题的。
应该是数据库中 "早产或低出生体重 " 对应于一个pk,比如int id;
然后所有的比较由此id来完成。而不是 "早产或低出生体重 ",这样 "早产或低出生体重 "本身也是可以修改和变动的。