我在asp.net网页表单页面上几乎没有控件,我想将函数后面的代码链接到Hyperlink来解析URL
HTML&示例背后的代码
<asp:HyperLink ID="hyplnkVideo" runat="server" NavigateUrl='<%# this.getVideoPageURL()%>'>
<div id="dAlbumCategory" class="AlbumCategoryIcon">
<asp:Image ID="Image1" ImageUrl='~/Images/gallery/Videos.png' runat="server" />
</div>
</asp:HyperLink>
protected String getVideoPageURL()
{
string url;
int PageID = Helper.GetPageIDbyName("Videos.aspx", Request["Language"]);
url = "~/en/Videos.aspx?PageID=" + PageID + "&Language=" + Request["Language"];
return url;
}
此超链接控件不在任何网格视图或转发器控件内。我尝试了几种方法但由于某种原因它没有调用该函数。
我很感激这方面的帮助
答案 0 :(得分:1)
以这种方式尝试......
<% getVideoPageURL(); %>
<asp:HyperLink ID="hyplnkVideo" runat="server">
<div id="dAlbumCategory" class="AlbumCategoryIcon">
<asp:Image ID="Image1" ImageUrl='~/Images/gallery/Videos.png' runat="server" />
</div>
protected void getVideoPageURL()
{
string url;
int PageID = Helper.GetPageIDbyName("Videos.aspx", Request["Language"]);
url = "~/en/Videos.aspx?PageID=" + PageID + "&Language=" + Request["Language"];
hyplnkVideo.Attributes.Add("href", url);
}
这是运行代码..所以你可以试试
答案 1 :(得分:0)
试试这个:
NavigateUrl="<%= getVideoPageURL() %>"
相应的标记为&lt;%=,而不是&lt;%#,因为&lt;%#和%&gt;标签表示您要运行数据绑定代码(例如,您从数据库返回的内容)。
答案 2 :(得分:0)
已经有一段时间了,因为这个问题被提出并被标记为已解决。
但是,为了提供更合适的解决方案,请在页面加载或渲染时在页面代码隐藏中调用DataBind。这将注入必要的href字符串。