c#
  • .net
  • asp.net
  • eval
  • code-behind
  • 2009-11-22 3 views 21 likes 
    21

    Zuerst änderte ich HyperLink.NavigateUrl in Code-behind auf Page_Load().HyperLink mit NavigateUrl mit Eval(). Wo ist der Fehler?

    Aber nachdem ich beschlossen, es im Design mit Eval() Methode zu tun.

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

    oder

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

    wo id und type - sind Variablen aus Request.

    Aber es funktioniert nicht. Nur der Rohtext 'Refuse' wird angezeigt. Wo ist mein Fehler? Danke im Voraus.

    +0

    Id prperty ur Hyperlink fehlt ... ist der Fehler verursacht, ich weiß nicht ... –

    +0

    @Pandiya: Klingt geheimnisvoll und in der gleichen Zeit - realistisch. Hat aber leider nicht geholfen. – abatishchev

    +2

    NavigateUrl = '<% # Eval ("typ", "id", "~/Refuse.aspx? Type = {0} & id = {1}")%>' –

    Antwort

    54

    das funktioniert groß

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

    Ich habe Webformulare vor Jahren eingestellt, und doch komme ich Jahre später, um so etwas zu lernen, war so einfach. – Ernesto

    3

    Probieren Sie ViewSource in Ihrem Browser aus, was wird in Ihrem href auf dem Client gerendert? Ist es das, was Sie erwartet haben? Wenn Sie versuchen, Variablen aus der Anforderungssammlung zu verwenden, können Sie Eval nicht verwenden. Dazu müssen Sie die Abfrageabfrageparameter Request verwenden.

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

    Nächste wird gerendert: Refuse. Danke für Tipp.Ich habe es verwendet.Das gleiche Ergebnis .. – abatishchev

    +1

    Sie versuchen, Werte aus der Abfrage zu verwenden string? Haben Sie versucht, Request ["id"] anstelle von Eval ("id") zu verwenden? – Phaedrus

    +1

    Versuchen Sie, Page.DataBind() zu Ihrem Page_Load hinzuzufügen. – Phaedrus

    -1

    Versuchen Sie dieses:

    <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> 
    
    -1

    Versuchen Sie folgendes:

    HttpUtility.UrlEncode(Eval("type") 
    
    -1

    das Probieren Sie es für mich gearbeitet:

    Eval("type").ToString() 
    
    14

    Das ist für mich gearbeitet

    Verwandte Themen