Frage

Ich verwende ImageButtons anstelle von Linkbuttons in einer Formenansicht, um neue Befehle zu bearbeiten/zu löschen/abbrechen.

Die ImageButtons verursachen einen Postback, aber der Formview -Modus ändert sich nicht im aktuellen Modus.

Ich bin mir sicher, dass die ImageButtons an einem Punkt gearbeitet haben, aber ich war schon eine Weile mit anderen Seiten beschäftigt. Das einzige, was sich zwischen ab und zu geändert hat, sind einige Patches, die ich in Visual Studio installiert habe.

Ich konnte keine Informationen zu diesem Problem finden, die sich auf dieses Problem beziehen, als diese: http://www.codeprroject.com/kb/webforms/tamingtheformview.aspx In diesem Artikel gibt es eine Onclick -Methode für ein ImageButton, mit dem der Formiew -Modus geändert wird.

Wäre dies die einzige Möglichkeit, ImageButtons anstelle von Linkbuttons in einer Formenansicht zu verwenden?

Hier sind einige Codefragmente:

<asp:FormView ID="CourseFormView" runat="server" DataKeyNames="CourseCode" 
    DataSourceID="CourseSqlDataSource" ondatabound="CourseFormView_DataBound">
    <ItemTemplate>
        <table>...</table>
        <asp:ImageButton ID="EditCourseImageButton" CssClass="image_button"
            runat="server" CommandName="Edit"
            ImageUrl="~/images/icons/pencil.png" />
     </ItemTemplate>
</asp:FormView>

CodeBehind:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["code"] == null ||
                Request.QueryString["code"] == "")
        {
            CourseFormView.ChangeMode(FormViewMode.Insert);
            CourseCodeTitleLabel.Visible = false;
            CourseTitleTitleLabel.Text = "Add a new course...";
            SchedulePanel.Visible = false;
        }

    }

Es gibt keinen anderen Code für die Verarbeitung der Schaltflächen. Ich hatte einige leere Ereignishandler für die Formenansicht erstellt, um zu sehen, was passiert ist - Modeching, Modeched und ItemCommand. Keiner von ihnen wurde angerufen, als ich auf das ImageButton klickte, aber alles funktionierte gut, wenn ich einen Linkbutton verwendet habe.

Ich mache nichts Kompliziertes - ich möchte nur, dass die Formview auf grundlegende ImageButton -Befehle antwortet.

War es hilfreich?

Lösung 2

Das Problem war, dass ich auf meiner Master -Seite Seite angerufen habe. Ich bin mir nicht sicher, wie sich das stört, aber ich habe den Anruf entfernt und die Seite neu kodiert, damit sie nicht notwendig ist.

Andere Tipps

Um zu testen, sollte das Formular einen Befehl oder ein Element -Command -Ereignis haben, das ausfeuert, wenn der Befehl angeklickt wird ... Anhängen und testen Sie, dass er ausfeuert und dass der E. commandname bearbeitet wird ... (Ich denke dort dort dort ist ein Befehlsparam, bin aber nicht 100% sicher).

Das wird uns zumindest mitteilen, ob das funktioniert ... wenn das feuert, können Sie es zumindest programmabel in den Bearbeitungsmodus ändern.

HTH.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top