如何在中继器中传递超链接navigateUrl中的参数
问题描述:
我正在研究视频门户应用程序,我使用html模板进行设计。我用asp:Repeater
控制显示所有的视频图像。点击特定图片后,该页面将重定向到视频详情页面。 这里是我的html代码,如何在中继器中传递超链接navigateUrl中的参数
<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>
我想通过它被点击一个视频的细节,这里是所有的视频页面视图。
答
在超链接添加代码的导航网址(你必须使用单引号)
<asp:HyperLink ID="hl_video_img" runat="server" NavigateUrl='~/Views/VideoDetail.aspx?videoid=<%# DataBinder.Eval(Container.DataItem,"video_id")%>'>
所以你生成正确的链接,你通过视频的ID你想打开。
现在,在您VideoDetail.aspx添加代码即可获得从查询字符串参数在你的Page_Load功能
if (Request.QueryString.HasKeys())
{
try
{
//get the id from query string
string videoID = Request.QueryString["videoID"].ToString();
}
catch { }
}
你已经做了这一切,你不知道如何通过一个参数? – Aristos
是的,我已经得到并显示所有的视频,现在我希望当一个特定的视频被点击播放时,那么它应该被重定向到我想播放该视频的新页面 –