ASCX ファイルのマークアップで ASP.NET タグを使用しています。
<a id="MyId" runat="server" href="page.aspx?id=<%= Item.Id %>">View Item</a>
Item は、コード ビハインドのコントロール クラスのプロパティです。
ただし、上記のマークアップはそのまま HTML にレンダリングされており、<%= %>
文字が含まれています。
なぜこれが考えられるのか誰にも分かりますか?
ASCX ファイルのマークアップで ASP.NET タグを使用しています。
<a id="MyId" runat="server" href="page.aspx?id=<%= Item.Id %>">View Item</a>
Item は、コード ビハインドのコントロール クラスのプロパティです。
ただし、上記のマークアップはそのまま HTML にレンダリングされており、<%= %>
文字が含まれています。
なぜこれが考えられるのか誰にも分かりますか?
runat="server"
次のように、アンカーから属性を削除してみてください。
<a href="<%= string.Format("{0}?id={1}", ResolveUrl("~/page.aspx"), item.Id) %>">
View Item
</a>
またはハイパーリンクを使用します。
<asp:HyperLink ID="link" runat="server" NavigateUrl="~/page.aspx?id={0}">
View Item
</asp:HyperLink>
コードビハインドで値を設定します。
link.NavigateUrl = string.Format(link.NavigateUrl, item.Id);
またはデータ バインディング構文を使用します。
<asp:HyperLink ID="link" runat="server" NavigateUrl='<%# string.Format("~/page.aspx?id={0}", item.Id) %>'>
View Item
</asp:HyperLink>
コードビハインドコールで:
Page.DataBind();