실례를하지만이 실제로 작동 :
<asp:ListView ID="lvTest" runat="server">
<ItemTemplate>
<asp:HyperLink ID="test" NavigateUrl='<%#"http://google.pl"%>' runat="server">test</asp:HyperLink>
</ItemTemplate>
protected void Page_Load(object sender, EventArgs e)
{
lvTest.DataSource = Enumerable.Range(0, 5);
lvTest.DataBind();
}
당신이 경우 데이터 원본을 리터럴과 혼합하려면 다음과 같이하십시오.
<asp:HyperLink ID="test" NavigateUrl='<%#"http://google.pl?page=" + Container.DataItem %>' runat="server">test</asp:HyperLink>
특정 속성에 액세스하려면 Container.DataItem 대신 Eval을 사용해야합니다. BTW 모든 이것은 나쁜 습관입니다. ItemDataBound (또는 유사한 이벤트)를 사용하고 강력한 형식의 C# 코드를 사용하여 바인딩해야합니다.페이지
HTML을 부분 :
<asp:HyperLink ID="test" NavigateUrl="<%# GetUrl() %>" runat="server">test</asp:HyperLink>
코드 숨김
protected string GetUrl()
{
//Put your logic here to generate dynamicly url that you want
}
protected void Page_Load(object sender, EventArgs e)
{
DataBind();
}
그것은 당신을 도울 것입니다 희망
'%%'를 사용하면 다음 코드가 출력됩니다 :'">test' – hsz
이전에 NavigateUrl 속성에서이 태그를 사용하려 한 적이 없었습니다. 태그를 추가하고 곧 답변을 수정하겠다), ASP.NET 태그를 사용하여 NavigateUrl 속성에 문자열 리터럴을 지정할 필요가 없다. – jwiscarson
예 알아 두지 만, 예를 들어 UrlParams.Google에서 해당 주소를 가져 오려고합니다. 나는 그 때하고 싶다 :'NavigateUrl = '<% = "http://google.pl"+ UrlParams.Google %>''그러나 그것은 작동하지 않는다. – hsz