asp.net 无法将类型“System.DateTime”隐式转换为“string”

编译器错误消息:CS0029:无法将类型“System.DateTime”隐式转换为“string”源错误:行22:{行23:st_name=nst_name;行24:s... 编译器错误消息: CS0029: 无法将类型“System.DateTime”隐式转换为“string”

源错误:
行 22: {
行 23: st_name = nst_name;
行 24: st_csrq = nst_csrq;
行 25: st_code = nst_code;
行 26:

类文件
public class c31
{
public c31()
{
}
public c31(string nst_name, DateTime nst_csrq, string nst_code)
{
st_name = nst_name;
st_csrq = nst_csrq;
st_code = nst_code;

}
public string st_name
{
get;
set;
}
public string st_csrq
{
get;
set;
}
public string st_code
{
get;
set;
}
}

实例
public partial class _3_1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
c31 new_1=new c31();
c31 new_2 = new c31("王同学","444545197606203999");
new_1.st_name = "李同学";
new_1.st_csrq = new DateTime(1977,3,22);
new_1.st_csrq.ToString;
new_1.st_code = "442251197703220658";
Response.Write("姓名:"+new_1.st_name.ToString+"<br/>");
Response.Write("出生日期"+new_1.st_csrq.ToString("yyyy-MM-dd"));
}
}

请问这是为什么啊 ?
展开
 我来答
茂同安衣
2020-04-18 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:672万
展开全部
亲:
MyModel1.EntireTime是DateTime类型this.txtEntireTime.Text.ToStirng()是String类型
这样子是类型不一致的。
MyModel1.EntireTime=Convert.toDateTime(this.txtEntireTime.Text.ToStirng());
要将this.txtEntireTime.Text.ToStirng()转换为为DateTime类型
但是前提要保证你的this.txtEntireTime.Text.ToStirng()要验证
普茹薇矫浓
2019-09-05 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:27%
帮助的人:865万
展开全部
MyModel.EntireTime是SystemDateTime类型的,而右边ToString()之后是字符串,没法直接赋值。
你应该根据字符串中表示日期的格式编写将字符串转化为SystemDateTime的函数或方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wc123hange
2009-12-19
知道答主
回答量:29
采纳率:0%
帮助的人:0
展开全部
你的构造函数
public c31(string nst_name, DateTime nst_csrq, string nst_code)
{
st_name = nst_name;
st_csrq = nst_csrq;
st_code = nst_code;

}
中直接把nst_csrq赋值给 st_csrq,然而
public string st_csrq
{
get;
set;
}
此字段是string型的,所以会错误,你可以这样写构造函数
public c31(string nst_name, DateTime nst_csrq, string nst_code)
{
st_name = nst_name;
st_csrq = nst_csrq.ToShortDateString();
st_code = nst_code;

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
商用脱范
2020-02-15 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:555万
展开全部
你可以试试这么写:
MyModel1.EntireTime=DateTime.Parse(this.txtEntireTime.Text.ToStirng());就是把txtEntireTime的Text的值强制转化为DateTime类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ko85363974
2009-12-19 · TA获得超过480个赞
知道答主
回答量:194
采纳率:0%
帮助的人:168万
展开全部
不要用ToString("yyyy-MM-dd")
如果你要转成年-月-日形式的话应该是ToLongDateString();
如果你要转成月-日形式就是ToShotDateString();
年-月-日 时:分:秒 ToLongTimeString();
....
方法都有 其他的格式可以自己试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式