我正在尝试访问详细视图中的字段并将其显示在标签中。注意,我已将字段转换为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"];
}
答案 0 :(得分:0)
这里有一些问题:
您将整个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客户端解决方案。
这真的取决于你在这里想要实现的目标。您能否在问题中提供更多背景细节?