4 Stimmen

EVAL IN C# asp.net Google Translate: EVAL IN C# asp.net

Ich habe dynamische Inhalte in einem Inhaltsplatzhalter platziert in einem DataList, der an einen ObjectDataSource gebunden ist. Das Problem ist, dass ich den Wert des EVAL überprüfen muss. Hier ist der Code:

                    "> <%# Eval("Vendor") %>

                     "><%# Eval("Title") %>

Ich möchte sagen

<%if(Eval("RptID") =="SomeString") { Eval("rtpid") = "Pass");}%>

Ich benötige die Überprüfung auf der aspx-Seite und nicht in der aspx.cs-Seite! Wie kann die Überprüfung durchgeführt werden??

7voto

Parth Patel Punkte 260

Du kannst so etwas machen:

<%# (Eval("UserName") == "Test 1") ? "no.png" : "yes.gif" %>

4voto

Sie können wie folgt überprüfen:

<%# Eval("VenderLink") == "somestring" ? "p %>

3voto

KV Prajapati Punkte 91877

Versuchen Sie dies,

<%# string.Compare(Eval("RptID").ToString(), "SomeString") == 0 ? Eval("RptID") : "Nothing" %>

2voto

TheCodeKing Punkte 18776

Sie müssen Ihren Ausdruck in einfache Anführungszeichen einpacken, da er sonst ungültiges SGML ist. Der Parser denkt, dass das Attribut auf das zweite " endet.

 <%# Eval("Vendor") %>

Sie können keine IF-Konstrukte im Bindungskontext verwenden, nur Bindungsausdrücke. Sie können stattdessen immer ItemDataBound verwenden und Ihre Logik auf der Serverseite implementieren (oder sie in eine Methode im Code-Behind verschieben).

protected void repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{       
        var descLabel= e.Item.FindControl("RptIDLabel") as Label;
        var data = (MyDataType)e.Item.DataItem; 
        if (data.RptID == "SomeString")
        {
           descLabel.Text = "Pass";
        }
        ...       
}

2voto

Dorin Punkte 2452

Eval("RptID") ist eine Funktion, daher können Sie nicht Eval("rtpid") = "etwas"; machen;

Wenn Sie Logik schreiben müssen, können Sie immer eine geschützte oder öffentliche Funktion im Code-Behind erstellen, die Ihnen den benötigten String zurückgibt.

Sie können die Funktion folgendermaßen aufrufen

<%# TransformString(Eval("RptID")) %>

und die Funktion im Code-Behind

protected string TransformString(object rptid)
{
     //Hier kommt etwas Code hin
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X