繁体   English   中英

在GridView中无法获取链接按钮的文本

[英]Cannot get the text of the Linkbutton in GridView

这就是我试图获取LinkBut​​ton文本的方式:-

protected void download(object sender, EventArgs e)
{
    LinkButton btn = (LinkButton)sender;
    String name = btn.Text;
    conn.Open();
    SqlDataAdapter sda = new SqlDataAdapter("select str_file from soham_movies where title='" + name + "'", conn);
    conn.Close();
    DataTable dt = new DataTable();
    sda.Fill(dt);
    string filePath = "";
    filePath = "~/files/" + dt.Rows[0][0].ToString();

    Response.Clear();
    Response.ContentType = "movieFiles";
    Response.AddHeader("Content-Disposition", "attachment; filename=" + dt.Rows[0][0].ToString());
    Response.WriteFile(filePath);
    Response.End();
}

但是我将文本显示为“”(空白)。

这是我的aspx部分:-

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    BorderStyle="None" AlternatingRowStyle-BorderStyle="None" CellPadding="5" 
    EditRowStyle-BorderStyle="None" HeaderStyle-BorderStyle="None" 
    PagerStyle-BorderStyle="None" RowStyle-BorderStyle="None" ShowHeader="False" 
    GridLines="None" >
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <img id="image" src='<%# Eval("pic") %>' runat="server" style="height:120px; width:150px" />
            </ItemTemplate>                   
        </asp:TemplateField>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="click_download" runat="server" OnClick="download"><%# Eval("title") %></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

LinkBut​​ton的文本在gridView内的页面中可见,可以单击,但是我遇到查询错误,因为查询名称为空而无法检索任何结果的错误

我认为由于您将按钮的文本设置如下:

<asp:LinkButton ID="click_download" runat="server" OnClick="download"><%# Eval("title") %></asp:LinkButton>

Text属性设置不正确。 <%# Eval("title") %>移至链接的声明按钮,并将其值分配给Text属性:

<asp:LinkButton ID="click_download" runat="server" OnClick="download" Text='<%# DataBinder.Eval (Container.DataItem, "title") %>'></asp:LinkButton>

我看不到您在哪里为LinkBut​​ton设置文本属性/属性。 但是,我的确看到标签中有“ <%#Eval(” title“)%>”浮动的地方。 它应该说Text =“ <%#Eval(” title“)%>”。

我真的不明白,如果未设置如何查看它。 您是否要在Page_Load中设置它? 希望这些问题有助于解决该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM