0

我有两个页面default.aspx,其中有一个grdiview. 这gridview有两列,一列是 ID 号,另一列是hyperlink保存在文件夹中的视频的路径。
我有另一个页面videos.aspx,它接受一个 mp4url 字符串来播放hyperlink默认页面上单击的视频。现在如何将点击的超链接的这个 URL 发送到这个视频页面?

默认.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        LoadData();
    }
}

//load data from database into gridview
 private void LoadData()
 {
     //code to load the data here
 }
 protected void btnUpload_Click(object sender, EventArgs e)
 {
      //code to upload video here. 
      //Store file details into database if upload successful
      if (blSucces)
      {
          Updatefileinfo(filename, FilePath + filename);
      }
 }
  // I want to send the strpath which is (FilePath + filename) to videos.aspx
  private void Updatefileinfo(string strfilename, string strPath)
  { 
     //code here
  }

这是gridview的模板字段

<asp:TemplateField HeaderText="List of Files" HeaderStyle-Width="50%">
     <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" Target="_blank" runat="server" 
             Text='<%# Eval("filenameName") %>'
        </asp:HyperLink>
     </ItemTemplate>
</asp:TemplateField>

我想做的是首先将video.aspx添加到navigationurl字段的开头(也许我可以使用string.format,但是我如何在video.aspx中接收它)

在videos.aspx中我应该只收到strPath

protected void Page_Load(object sender, EventArgs e)
{
    VideoPlayer1.Mp4Url = //file path here
}

任何帮助表示赞赏。

4

3 回答 3

1

您可以使用查询字符串将信息从一个页面传递到另一个页面。

<asp:TemplateField HeaderText="List of Files" HeaderStyle-Width="50%">
     <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" Target="_blank" runat="server" 
             Text='<%# Eval("filenameName") %>' NavigateUrl='<%# "video.aspx?v=" + Eval("VideoPath").ToString() %>'
        </asp:HyperLink>
     </ItemTemplate>
</asp:TemplateField>

并在页面加载中的 video.aspx 上访问视频网址,如下所示

var vPath = Request.QueryString["v"];
VideoPlayer1.Mp4Url = vPath;
于 2013-09-24T05:03:48.447 回答
0
<asp:HyperLink ID="HyperLink1" Target="_blank" runat="server" 
         Text='<%# Eval("filenameName") %>' NavigateUrl='<%#String.Format("~/videos.aspx?videoPath={0}", Eval("VideoPath"))%>'>
</asp:HyperLink>

在video.aspx中

protected void Page_Load(object sender, EventArgs e)
{
    var path = Request.QueryString["videoPath"];
    VideoPlayer1.Mp4Url = path;
}
于 2013-09-24T04:59:28.397 回答
0

而不是这个

 <asp:HyperLink ID="HyperLink1" Target="_blank" runat="server" 
         Text='<%# Eval("filenameName") %>'
    </asp:HyperLink>

您可以使用

<a href="videos.aspx?fname=<%#  Eval("filenameName")%>" target="_blank"><%# Eval("filenameName")%></a>

并在 videos.aspx.cs 文件中使用它

String fname=Request.QueryString["fname"].toString();
VideoPlayer1.Mp4Url =fname;
于 2013-09-24T05:41:06.423 回答