如何在中继器内的超链接 navigateUrl 中传递参数
How to pass argument in hyperLink navigateUrl inside a repeater
我正在开发视频门户应用程序,我使用 html 模板进行设计。我已经使用 asp:Repeater
控制显示所有的视频图像。单击特定图像时,页面将重定向到视频详细信息页面。
这是我的 html 代码,
<asp:Repeater ID="rp_videos" runat="server">
<ItemTemplate>
<div class="col-md-4 col-sm-6 small-grid">
<div class="vid-img-holder wow pulse" data-wow-duration="1s">
<div class="top-shadow">
<span>'<%# Eval("time_before") %>'</span>
<span>From <a href="https://www.youtube.com/"><i class="fa fa-youtube-play"></i></a></span>
<span><i class="fa fa-eye"></i>'<%# Eval("views") %>'</span>
</div>
<asp:HyperLink ID="hl_video_img" runat="server" NavigateUrl="~/Views/VideoDetail.aspx">
<asp:HiddenField ID="hf_file" runat="server" Value="'<%# Eval("file") %>'" />
<asp:Image ID="img_video_image" runat="server" class="img-responsive hidden-sm hidden-xs" ImageUrl='<%# Eval("image") %>' AlternateText="video_thumb" />
<img class="img-responsive hidden-md hidden-lg" src="../images/main-vid-image-smmd-1.jpg" alt="video_thumb" />
<span class="play-icon">
<img class="img-responsive play-svg svg" src="../images/play-button.svg" alt="play" onerror="this.src='images/play-button.png'" />
</span>
</asp:HyperLink>
<h3 class="vid-author">
<span>By <a href="~/Views/Profile.aspx" title="Posts by admin" rel="author">'<%# Eval("publisher_name") %>'</a>
</span>
<a href="video-detail.html">'<%# Eval("title") %>'</a>
</h3>
<div class="bottom-shadow"></div>
<div class="overlay-div"></div>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
我想传递一个视频被点击的详情,这里是所有视频页面的视图。
在您的 hyperlink 中添加导航中的代码 URL(您必须使用单引号)
<asp:HyperLink ID="hl_video_img" runat="server" NavigateUrl='~/Views/VideoDetail.aspx?videoid=<%# DataBinder.Eval(Container.DataItem,"video_id")%>'>
因此您生成了正确的 link 并传递了您要打开的视频的 ID。
现在在您的 VideoDetail.aspx 中添加代码以从 page_load 函数中的查询字符串中获取参数
if (Request.QueryString.HasKeys())
{
try
{
//get the id from query string
string videoID = Request.QueryString["videoID"].ToString();
}
catch { }
}
我正在开发视频门户应用程序,我使用 html 模板进行设计。我已经使用 asp:Repeater
控制显示所有的视频图像。单击特定图像时,页面将重定向到视频详细信息页面。
这是我的 html 代码,
<asp:Repeater ID="rp_videos" runat="server">
<ItemTemplate>
<div class="col-md-4 col-sm-6 small-grid">
<div class="vid-img-holder wow pulse" data-wow-duration="1s">
<div class="top-shadow">
<span>'<%# Eval("time_before") %>'</span>
<span>From <a href="https://www.youtube.com/"><i class="fa fa-youtube-play"></i></a></span>
<span><i class="fa fa-eye"></i>'<%# Eval("views") %>'</span>
</div>
<asp:HyperLink ID="hl_video_img" runat="server" NavigateUrl="~/Views/VideoDetail.aspx">
<asp:HiddenField ID="hf_file" runat="server" Value="'<%# Eval("file") %>'" />
<asp:Image ID="img_video_image" runat="server" class="img-responsive hidden-sm hidden-xs" ImageUrl='<%# Eval("image") %>' AlternateText="video_thumb" />
<img class="img-responsive hidden-md hidden-lg" src="../images/main-vid-image-smmd-1.jpg" alt="video_thumb" />
<span class="play-icon">
<img class="img-responsive play-svg svg" src="../images/play-button.svg" alt="play" onerror="this.src='images/play-button.png'" />
</span>
</asp:HyperLink>
<h3 class="vid-author">
<span>By <a href="~/Views/Profile.aspx" title="Posts by admin" rel="author">'<%# Eval("publisher_name") %>'</a>
</span>
<a href="video-detail.html">'<%# Eval("title") %>'</a>
</h3>
<div class="bottom-shadow"></div>
<div class="overlay-div"></div>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
我想传递一个视频被点击的详情,这里是所有视频页面的视图。
在您的 hyperlink 中添加导航中的代码 URL(您必须使用单引号)
<asp:HyperLink ID="hl_video_img" runat="server" NavigateUrl='~/Views/VideoDetail.aspx?videoid=<%# DataBinder.Eval(Container.DataItem,"video_id")%>'>
因此您生成了正确的 link 并传递了您要打开的视频的 ID。
现在在您的 VideoDetail.aspx 中添加代码以从 page_load 函数中的查询字符串中获取参数
if (Request.QueryString.HasKeys())
{
try
{
//get the id from query string
string videoID = Request.QueryString["videoID"].ToString();
}
catch { }
}