微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html表格单元格asp.net中的链接按钮

如何解决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 举报,一经查实,本站将立刻删除。