<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="文本">
<ItemTemplate>
<%# Eval("ida") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<a style="text-decoration:underline;cursor:pointer;color:Blue" onclick="showModal('<%#Eval("ida") %>')">打开</a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ida", typeof(string))); DataRow dr = dt.NewRow();
dr[0] = "aa";
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0] = "bb";
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0] = "cc";
dt.Rows.Add(dr); GridView1.DataSource = dt;
GridView1.DataBind();
TextBox1.Text = ???; // 怎么取<%# Eval("ida") %>的值??? }
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="文本">
<ItemTemplate>
<%# Eval("ida") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<a style="text-decoration:underline;cursor:pointer;color:Blue" onclick="showModal('<%#Eval("ida") %>')">打开</a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ida", typeof(string))); DataRow dr = dt.NewRow();
dr[0] = "aa";
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0] = "bb";
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0] = "cc";
dt.Rows.Add(dr); GridView1.DataSource = dt;
GridView1.DataBind();
TextBox1.Text = ???; // 怎么取<%# Eval("ida") %>的值??? }
dt中有N行数据 不可能显示在一个TextBox1中
如果TextBox1是GridView1模板中的控件那应该是在前台页面中写TextBox1.Text =<%# Eval("ida") %>就行后台一定要赋值 也应该是 TextBox1.Text=dt.rows[0]["ida"].ToString();这是取的第一行的值
获取 ida 的所有值 不是一行一行的
<Columns>
<asp:TemplateField HeaderText="文本">
<ItemTemplate>
<!--将值放在一个Label中,或其他的也可以-->
<asp:Label ID="Label1" runat="server" Text='<%# Eval("ida") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<a style="text-decoration:underline;cursor:pointer;color:Blue" onclick="showModal('<%#Eval("ida") %>')">打开</a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ida", typeof(string))); DataRow dr = dt.NewRow();
dr[0] = "aa";
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0] = "bb";
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0] = "cc";
dt.Rows.Add(dr); GridView1.DataSource = dt;
GridView1.DataBind();
//以下是增加的代码
string s = "";
foreach(GridViewRow item in GridView1.Rows)
{
Control control = item.FindControl("Label1");
s += ((Label)control).Text + "|";
}
TextBox1.Text = s; // 就这样取<%# Eval("ida") %>的值
}
<ItemTemplate>
<%# Eval("ida") %>
</ItemTemplate>是属于Lable的?
只是我决定 在不加 lable或textbox的情况下 能不能去到
for (int i = 0; i < GridView1.Rows[0].Cells.Count; i++)
{
TextBox1.Text = TextBox1.Text + this.GridView1.Rows[i].Cells[0].Text;
}
Rows[为行索引]
Cells[为列索引]