【发布时间】:2013-12-24 08:20:10
【问题描述】:
我有一个 my_Account 页面。对于数据检索,我使用 ToString("DD/MM/yyyy") 格式,如果为空,我也会提前检查,但发生了一个编译时错误,例如
Error 48 No overload for method 'ToString' takes '1' arguments F:\EasyWeb\EndUser\My_Account.aspx.cs 59 55 F:\EasyWeb\
这是我的代码:
using (DataClassesDataContext db = new DataClassesDataContext())
{
var query = from u in db.Users
where u.Username == user_id
select u;
foreach (var item in query)
{
Session["Username"] = user_id;
hidden_profile_id.Value = item.Id.ToString();
lbl_user_id.Text = item.Username.ToString();
Bind_DDL_Title();
ListItem item1 = drp_title.Items.FindByText(item.Title);
if (item1 != null)
{
item1.Selected = true;
}
txtf_name.Text = item.First_name.ToString();
txt_lname.Text = item.Last_name.ToString();
dob.Text = item.Birth_date.ToString("DD/MM/yyyy");
if (item.Anniversary_date != null)
{
//第 48 行无重载方法“ToString”采用“1”参数... txt_adate.Text = item.Anniversary_date.ToString("DD/MM/yyyy");
}
Bind_DDL_Status();
ListItem item2 = DDL_StatusList.Items.FindByValue(item.status_id.ToString());
if (item2 != null)
{
item2.Selected = true;
}
txt_email.Text = item.email.ToString();
txt_mno.Text = item.mobile_no.ToString();
txt_phoneno.Text = item.phone_no ?? "".ToString();
txt_address.Text = item.Address ?? "".ToString();
Bind_DDL_Countries();
ListItem item3 = DDL_CountryNames.Items.FindByValue(item.country_id.ToString());
if (item3 != null)
{
item3.Selected = true;
}
Bind_DDL_States();
ListItem item4 = DDL_StateNames.Items.FindByValue(item.state_id.ToString());
if (item4 != null)
{
item4.Selected = true;
}
txt_city.Text = item.city_name ?? "".ToString();
txt_zip.Text = item.pin_code ?? "".ToString();
CompareValidator1.ValueToCompare = item.password.ToString();
}
}
请帮帮我...
【问题讨论】:
-
Anniversary_date的 type 是什么?该类型确实没有具有带有string ToString(string)之类签名的方法 - 查看 API 以解决分歧。 -
另外,请修复
"".ToString()。这太可怕了。""是一个字符串;或使用string.Empty,如果它让你感到内心模糊。 -
Aniversary_date 的类型是日期时间
-
从数据库端我使用 Aniversary_date 作为日期时间和 Birth_Date 也是。如何允许 null 到 aniversary_date。
标签: c# asp.net-3.5