如何解决html表格单元格asp.net中的链接按钮
| 嗨,我正在动态创建链接按钮,如下所示。问题是如何在\“linktopage
\”位置添加链接按钮。目前,链接按钮已添加到表格下方。
for(i=0;i<100;i++)
{
LinkButton lnk = new LinkButton();
lnk.ID = \"lnk\" + i;
lnk.Text = \"open profile\";
lnk.Click += new System.EventHandler(lnk_click);
this.Page.Form.Controls.Add(lnk);
htmlstring += \"<tr style=\'height:30px;\'>\" +
\"<td>\" + firstname + \"</td>\" +
\"<td>\" + surname + \"</td>\" +
\"<td>\" + email + \"</td>\" +
\"<td>\" + mobile + \"</td>\" +
**\"<td>\" + linktopage + \"</td>\" +**
\"</tr>\";
}
解决方法
从您的评论
在.aspx.cs中
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
if (!Page.IsPostBack)
Populate();
}
private void Populate()
{
List<MyTableData> list = new List<MyTableData>();
for (int i = 0; i < 10; i++)
{
list.Add(
new MyTableData()
{
FirstName = \"Firstname \" + i.ToString(),LastName = \"Lastname \" + i.ToString(),Email = \"Email \" + i.ToString(),Mobile = \"Mobile \" + i.ToString(),CmdArgument = i.ToString()
});
}
gv.DataSource = list;
gv.DataBind();
}
protected void lnkBtn_Command(object sender,CommandEventArgs e)
{
string btnNumber = e.CommandArgument.ToString();
// more code...
lit.Text = \"Button pressed <b>\" + btnNumber + \"</b>\";
}
}
public class MyTableData
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Mobile { get; set; }
public string CmdArgument { get; set; }
}
在.aspx中
<div>
<asp:GridView ID=\"gv\" runat=\"server\" AutoGenerateColumns=\"False\" CellPadding=\"5\">
<Columns>
<asp:BoundField DataField=\"FirstName\" HeaderText=\"First name\" />
<asp:BoundField DataField=\"LastName\" HeaderText=\"Last name\" />
<asp:BoundField DataField=\"Email\" HeaderText=\"Email\" />
<asp:BoundField DataField=\"Mobile\" HeaderText=\"Mobile\" />
<asp:TemplateField HeaderText=\"\">
<ItemTemplate>
<asp:LinkButton ID=\"lnkBtn\" runat=\"server\" OnCommand=\"lnkBtn_Command\" CommandArgument=\'<%# Eval(\"CmdArgument\") %>\'
Text=\'<%# Eval(\"CmdArgument\",\"Button {0}\") %>\' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<hr />
<asp:Literal ID=\"lit\" runat=\"server\" />
结果是
可用的源代码
,怎么样:
用<td><asp:Panel id=\"lnktoPage\" /></td>
代替**\"<td>\" + linktopage + \"</td>\" +**
并从代码ѭ6中添加
请注意,在客户端,“ 7”呈现为“ 8”。
或者...您可以动态创建html链接:
string strID = \"someID\";
string strLink = @\"<a id=\"\"\" + strID + @\"\" +
@\" onclick=\"\" \" + lnk_clickMethodName + @\" \"\" \" +
@\"href=\"\"http://www.w3schools.com\"\">Visit W3Schools.com!</a>\";
因此,您的最终方法将类似于:
for (int i = 0; i < 100; i++)
{
string strID = \"lnk\" + i.ToString();
string strLink = @\"<a id=\"\"\" + strID + @\"\" +
@\" onclick=\"\" \" + lnk_clickMethodName + @\" \"\" \" +
@\"href=\"\"http://www.w3schools.com\"\">Visit W3Schools.com!</a>\";
StringBuilder html = new StringBuilder();
html.Append(@\"<tr style=\'height:30px;\'>\");
html.Append(@\"<td>\" + firstname + \"</td>\");
html.Append(@\"<td>\" + surname + \"</td>\");
html.Append(@\"<td>\" + email + \"</td>\");
html.Append(@\"<td>\" + mobile + \"</td>\");
html.Append(@\"<td>\" + strLink + \"</td>\");
html.Append(@\"</tr>\");
}
,代替链接按钮,使用href
标签;这很容易.....
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。