繁体   English   中英

如何在DetailView中获取字段值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM