[英]How to get a field value in a DetailView
我试图访问到detailview中的字段并将其显示在标签中。 注意,我已经将该字段转换为templdate字段。 我在“输出”标签中什么都没有。 我在这里做错了什么? 谢谢
if (this.DetailsView1.DefaultMode == DetailsViewMode.Edit)
{
{
TextBox dv = this.DetailsView1.FindControl("ID") as TextBox;
// dv.Text = "RCA Assigned";
Session["MySessionVar"] = dv;
OutputLabel.Text = (string)Session["MySessionVar"];
}
}
else
{
TextBox dv = this.DetailsView1.FindControl("ID") as TextBox;
OutputLabel.Text = (string)Session["MySessionVar"];
}
这里有一些问题:
您将整个TextBox(dv)存储在Session中。 然后,您尝试将其转换为字符串。
相反,您应该这样做:
Session["MySessionVar"] = dv.Text;
意味着字符串从一开始就存储在Session中(作为一个对象装箱,因此,当您再次获得它时,需要将其转换回字符串)。 但是,为什么要使用Session? 如果您只是希望将TextBox的内容显示在OutputLabel中,则可以这样做:
TextBox dv = this.DetailsView1.FindControl("ID") as TextBox;
OutputLabel.Text = dv.Text;
但是标签的内容仅在Web服务器每次提供页面时才填充。 如果要在编辑TextBox的内容时动态更改Label的内容,则需要查看某种JavaScript客户端解决方案。
这实际上取决于您要在此处实现的目标。 您能否在问题中提供更多背景信息?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.