Подтвердить что ты не робот

HyperLink с NavigateUrl с Eval(). Где ошибка?

Сначала я менял HyperLink.NavigateUrl в кодировке по Page_Load().

Но после того, как я решил сделать это в дизайне, используя метод Eval().

<asp:HyperLink runat="server"
     NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Eval("type"), Eval("id")) %>' Text="Refuse" />

или

<asp:HyperLink ID="urlRefuse" runat="server"
     NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Request["type"], Request["id"]) %>' Text="Refuse" />

где id и type - переменные из Request.

Но это не сработает. Отображается только сырой текст "Отказ". Где моя ошибка? Спасибо заранее.

4b9b3361

Ответ 1

это отлично работает

NavigateUrl='<%# Eval("type","~/Refuse.aspx?type={0}") %>'

Ответ 2

Это сработало для меня

NavigateUrl='<%# String.Format("{0}.aspx?ID={1}", DataBinder.Eval(Container.DataItem, "Category"), DataBinder.Eval(Container.DataItem, "Post_ID")) %>'

Ответ 3

Попробуйте и ViewSource в вашем браузере, что делается клиенту в вашем href? Это то, чего вы ожидали? Если вы пытаетесь использовать переменные из коллекции запросов, вы не можете использовать Eval, вам нужно использовать параметры строки запроса запроса.

<asp:HyperLink runat="server"
     NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Request["type"], Request["id"]) %>' Text="Refuse" />

Ответ 4

Попробуйте следующее:

<asp:HyperLink ID="HyperLink2" runat="server" onclick='<%# String.Format("AcceptUser({0},{1})",Eval("UserId"), Eval("TsId")) %>' NavigateUrl="javascript:void(0)" Visible='<%# (bool)Eval("CanDelete") %>'>Accept</asp:HyperLink>  

Ответ 5

Попробуйте следующее:

HttpUtility.UrlEncode(Eval("type")

Ответ 6

Попробуй, это сработало для меня:

Eval("type").ToString()