我正在尝试访问详细信息中的字段并在标签中显示。请注意,我将字段转换为坦帕特(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"];
}
这里有一些问题:
您正在会话中存储整个文本框(DV)。然后,您正在尝试将其施放到字符串中。
您应该做:
Session["MySessionVar"] = dv.Text;
意味着从一开始就将字符串存储在会话中(盒装为对象,因此,当您再次将其取出时,需要将其扔回一个字符串)。但是,您为什么完全使用会话?如果您只希望文本框的内容出现在OutputLabel中,那么这应该可以解决:
TextBox dv = this.DetailsView1.FindControl("ID") as TextBox;
OutputLabel.Text = dv.Text;
但是,每次页面都由Web服务器提供页面时,标签的内容才会填写。如果您希望标签的内容在编辑文本框的内容时动态更改,则需要查看某种JavaScript的客户端解决方案。
这确实取决于您在这里要实现的目标。您可以在问题中提供更多背景细节吗?