Frage

Ich habe ein Datebox-Benutzersteuerelement in der Rasteransicht und eine der Eigenschaften ist RowID.Von Gridview aus übergebe ich die Zeilen-ID an die Datumsbox als

<uc2:datePage1 ID="txtSubToSA" RowID=<%# Container.DataItemIndex %>   runat="server" Enabled="true" Text= '<%#Eval("SUBMITTED_TO_SA") %>' />

Beim Laden der Seite des Benutzersteuerelements füge ich ein Attribut hinzu, um eine Javascript-Funktion wie diese aufzurufen:

protected void Page_Load(object sender, EventArgs e)
    {

        txtDate.Attributes.Add("onchange", "getRow(" + RowID + ")");

    }
  public int RowID
        {
            get;
            set;
        }

Wenn ich nun eine Änderung im Datumsfeld der Rasteransicht vornehme, wird unabhängig von der Zeile immer die Zeilen-ID 0 angezeigt und Änderungen, die ich in anderen Zeilen vorgenommen habe, werden nicht erkannt.Was mache ich hier falsch?

War es hilfreich?

Lösung

Du fügst das hinzu onchange Attribut in der Load Event-Handler, vor dem RowId wurde festgelegt – was während der Datenbindung geschieht.Sie könnten vielleicht überschreiben DataBind und legen Sie das Attribut fest, nachdem die Datenbindung abgeschlossen ist:

public override void DataBind()
{
    base.DataBind();
    txtDate.Attributes.Add(...);
}

Andere Tipps

Sie können dies stattdessen ausprobieren - verschieben Sie den Code von generasacodicetagpre.

bis generasacodicetagpre.

Die Seite laden Komplettes Ereignis wird abgefeuert, nachdem die Daten geladen wurden.

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