1

使用 ASP.net 和 c# 使用 Visual Studio 2010

大家好,我希望有人可以帮助我。基本上我有一个页面,它有一个网格视图,其中一列中有一个链接按钮。我想做的是;用户单击该链接,它所引用的 PDF 文件将使用 site.master 加载到新页面中。以下是我目前拥有的代码。

起始页

SelectCommand="SELECT * FROM [Guides] WHERE (([Display] = ?) AND ([Media_Document] = ?))">

<SelectParameters>
    <asp:QueryStringParameter DefaultValue="true" Name="Display" 
    QueryStringField="checkbox" Type="Boolean" />
    <asp:QueryStringParameter DefaultValue="Document" Name="Media_Document" 
    QueryStringField="Media_Document" Type="String" />
</SelectParameters>

</asp:AccessDataSource>
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server">
</asp:ObjectDataSource>


<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" 
DataKeyNames="ID"  CssClass="mGrid"  RowStyle-CssClass="pgr"  AlternatingRowStyle-CssClass="alt"
DataSourceID="AccessDataSource1" Width="225px" style="text-align:left" 
GridLines="None" >

<AlternatingRowStyle CssClass="alt"></AlternatingRowStyle>

<Columns>
    <asp:BoundField DataField="Guide" HeaderText="Guide" SortExpression="Guide" />
    <asp:HyperLinkField DataNavigateUrlFields="File_location" 
    DataNavigateUrlFormatString="Guides.aspx?File_location={0}" 
    Target="content" Text="Link" />
</Columns>

<RowStyle CssClass="pgr"></RowStyle>

</asp:GridView> 
</div>

此代码正确生成链接,即 Guides.aspx?File_location=blahblahblah.pdf

目标页面

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <object width="800" height="800" data="File_Location"></object>
</asp:Content>     

这不起作用,因为File_location没有识别出有意义的变量。我可以在后面的代码中使用 c# 获取位置,但是如何在页面中显示它?

有任何想法吗?

代码背后

public partial class Guides : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        string Location = Request.QueryString.ToString();

        File_location(Location);

    }


    public void File_location(string location)
    {

        string File_Location = location.Substring(location.IndexOf('=') + 1);
    }
}
4

1 回答 1

1

一种方法是在名为 File_Location 的页面后面的代码上有一个公共属性,然后您可以像这样引用它:

<object width="800" height="800" data="<%=File_Location%>"></object>

在 Page_load 中设置值。

在代码隐藏中创建一个属性,如下所示:

public string File_location()
{
    get
    {
        string location = Request.QueryString;
        return = location.Substring(location.IndexOf('=') + 1);
    }
}
于 2012-06-21T05:25:58.463 回答