如何在详细信息中获取字段值



我正在尝试访问详细信息中的字段并在标签中显示。请注意,我将字段转换为坦帕特(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的客户端解决方案。

这确实取决于您在这里要实现的目标。您可以在问题中提供更多背景细节吗?

最新更新