当前位置: 代码迷 >> ASP.NET >> gridview模板中文本框去除空格解决办法
  详细解决方案

gridview模板中文本框去除空格解决办法

热度:5610   发布时间:2013-02-25 00:00:00.0
gridview模板中文本框去除空格
模板EditItemTemplate的文本框可以在编辑行是显示文本框,但是运行时发现只要是文本格式的单元格,文本框显示都会显示很多空格,无论是否有数据。
这个就很麻烦,每次修改时都必须先将空格删除,否则录入就有可能错误。我想使用trim()方法,将这些空格清除。但是却不知道怎么将这些模板列的文本框取出来。
我使用过一下方法
C# code
foreach (GridViewRow grow in GridView1.Rows)        {                            TextBox textbox = (TextBox)grow.Cells[4].FindControl("TextBox2");                textbox.Text = textbox.Text.Trim();                   }


C# code
 foreach (Control control in GridView1.TemplateControl.Controls)            {                if (control is TextBox)                {                    TextBox textBox =(TextBox)control;                    textBox.Text = textBox.Text.Trim();                }            }


结果都不行,实在是想不出其他的办法啦。

另外,原来我写过一个遍历页面控件,将文本框空格清除的方法
C# code
foreach (Control control in Controls)            {                foreach (Control c in pControls)                {                    foreach (Control childc in c.Controls)                    {                        if (childc is TextBox)                        {                            TextBox textBox = (TextBox)childc;                            textBox.Text = textBox.Text.Trim();                        }                    }                }            }

但为什么,照理说gridview.controls集合应该也可以遍历取出文本框控件,但为什么不行呢?

------解决方案--------------------------------------------------------
楼主真强悍.想到了那么多...
------解决方案--------------------------------------------------------
<%# bakstr(Eval("year")) %>'提示错误因为Eval("year")是Object类型,需要ToString();

或者你的方法那里改一下,改成
public string bakstr(object obj)
{

}
------解决方案--------------------------------------------------------
C# code
TextBox6.Text = e.Item.Cells[7].Text.Trim().Replace("&nbsp;", "");
------解决方案--------------------------------------------------------
这个应该是你数据库的问题吧,你应该把字段设为varchar可变长型,而不是char定长型
  相关解决方案