我应该如何将文本提供给文本框,该文本框将在运行时显示在文本框中

时间:2011-09-21 09:18:08

标签: c# asp.net

这是我的aspx代码

<asp:TemplateField HeaderText="Column Name">
            <ItemTemplate>
                <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="false" ></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>

这是我的cs代码

 int rowIndex =0;
        TextBox box1=new TextBox();
        box1.Text = ((TextBox)Gridview1.Rows[rowIndex].Cells[2].FindControl("TextBox1")).Text;

通常,如果我们想给文本框赋值,我们就给lkie这个

 <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="false" Text="SomeText"></asp:TextBox>

但现在我在gridview中有文本框,所以我正在访问上面的cs代码。我想从cs代码给textbox提供文本。那么我应该如何将文本提供给文本框,文本框将在运行时显示...

3 个答案:

答案 0 :(得分:1)

而不是

int rowIndex =0;
TextBox box1=new TextBox();
box1.Text = ((TextBox)Gridview1.Rows[rowIndex].Cells[2].FindControl("TextBox1")).Text;

我认为你应该这样做:

int rowIndex =0;
TextBox box1 = ((TextBox)Gridview1.Rows[rowIndex].Cells[2].FindControl("TextBox1"));
box1.Text = "Whatever you want to display";

只有在将数据绑定到网格后才能执行此操作。

答案 1 :(得分:0)

这与获得文本的方式相同:

((TextBox)Gridview1.Rows[rowIndex].Cells[2].FindControl("TextBox1")).Text = "SomeText";

但通常情况下,每行的文本都会更改,人们会使用数据绑定声明性语法来指定文本 - 例如

<asp:TemplateField HeaderText="Column Name">
  <ItemTemplate>
     <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("PropertyOrColumnName") %>'></asp:TextBox>
  </ItemTemplate>
</asp:TemplateField>

请参阅data binding overview以便快速入门。

答案 2 :(得分:0)

TextBox1.text =“Some Text”  由于U已经为TextBox假设提供了一些ID 第二个U已声明它将运行服务器,因此它在CS文件中是可访问的。