[英]OnServerValidate Won't work with PostBackUrl in ASP.Net C#
[英]Hyperlink won't work when creating a unique url? C# asp.net
<asp:SqlDataSource ID="itemsforsale" runat="server"
ConnectionString="<%$ ConnectionStrings:ElmtreeConnection %>"
SelectCommand="SELECT * FROM Products WHERE Products.CategoryId = @CategoryId">
<SelectParameters>
<asp:QueryStringParameter Name="CategoryId"
QueryStringField="CategoryId" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
<asp:HyperLink ID="hyperlink" runat="server"
NavigateUrl='<%# "ItemsForSale.aspx?CategoryId"+Eval("CategoryId") %>'
Text="Beauty"></asp:HyperLink>
这是我的标记。 加载页面时没有出现任何错误,但是链接不起作用。 谁能给我任何关于为什么的见解?
URL中缺少等号:
NavigateUrl='<%# "ItemsForSale.aspx?CategoryId=" + Eval("CategoryId") %>'
如果HyperLink不在数据绑定控件中,则必须在Page_Load
调用其DataBind
方法(或Page本身的DataBind
方法),以确保其数据绑定表达式被求值:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
hyperlink.DataBind();
...
}
}
本质上,您是在创建到地址ItemsForSale.aspx的Url。 在URL前面加上〜/,以将其识别为相对于基本URL的路由。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.