1 回答
TA贡献1817条经验 获得超6个赞
已经有一段时间了,但是在您的 ASPX 页面中
选项 1:Eval就地简单并bind采用代码隐藏方法GetName
<%# Eval GetName(("FirstName").ToString()) %>
然后在你的代码后面
protected string GetName(object name)
{
return "From codebehind";
}
选项 2:
// 2 A-- Client Side, this can be a more complex collection of grid items.
// Alternatively, you can also use a simple text box.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
onrowcommand="GridView1_RowCommand">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="Add1" HeaderText="Add1" />
<asp:BoundField DataField="Add2" HeaderText="Add2" />
<asp:TemplateField>
<ItemTemplate>
<asp:Panel ID="pnlCustomer" runat="server">
<asp:TextBox runat="server" ID="txtCustName"></asp:TextBox>
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button text="click" runat="server" ID="b1" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
//2-- B Code behind Server ASPX.cs
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
DataTable dt = new DataTable("tblTest");
DataRow dr;
dt.Columns.Add("CompanyName", typeof(string));
dt.Columns.Add("Add1", typeof(string));
dt.Columns.Add("Add2", typeof(string));
dr = dt.NewRow();
dr["CompanyName"] = "Tykt.work";
dr["Add1"] = "Address1";
dr["Add2"] = "Add 2";
dt.Rows.Add(dr);
GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();
}
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) {
GridViewRow row = (GridViewRow)(((Button) e.CommandSource).NamingContainer);
int index = row.RowIndex;
//((TextBox)GridView1.Rows[index].Cells[3].Controls[1])
string strName = ((TextBox)((Panel) GridView1.Rows[index].Cells[3].Controls[1]).Controls[1]).Text.ToString();
Response.Write(strName);
}
- 1 回答
- 0 关注
- 90 浏览
添加回答
举报