Ich habe eine ObjectDataSource
mit dem richtigen SelectMethod
y SelectParameters
konfiguriert. Die Datenquelle ist an eine Gitteransicht gebunden, die die Daten beim Laden der Seite erfolgreich anzeigt.
Was ich brauche, ist die Möglichkeit, die Select
Methode, die in der ObjectDataSource
in einer Variablen zu speichern und die darin enthaltenen Elemente zu bearbeiten. Das Problem, auf das ich immer wieder stoße, ist, dass der Aufruf der .Select()
Methode gibt immer 0 Zeilen zurück, obwohl sie die Gitteransicht ordnungsgemäß auffüllt.
Gibt es einen Grund dafür, dass ich das Programm nicht manuell erneut ausführen kann? Select()
Methode für die Objektdatenquelle?
Update 2:
So habe ich die ObjectDataSource
:
myObjectDataSource.TypeName = typeof(MyDataAccessObject).ToString();
myObjectDataSource.SelectMethod = "GetBy" + stringVariable;
myObjectDataSource.SelectCountMethod = "GetCountBy" + stringVariable;
myObjectDataSource.EnablePaging = true;
Aktualisierung 1:
Ich führe die Select()
auf der Schaltfläche eines Links OnClick
Veranstaltung:
protected void LinkButton1_Click(object sender, EventArgs e)
{
SetupDataSource(); // populates the objSource's SelectMethod, SelectParameters and TypeName etc.
var items = objSource.Select();
int count = items.Count(); // returns 0;
}
Die ObjectDataSource ist eingerichtet (SelectMethod und SelectParameters sind gesetzt) in der Page_Load
Veranstaltung.
ObjectDataSource
Definition:
<asp:ObjectDataSource ID="objSource" runat="server" EnablePaging="True" SortParameterName="sortExpression" ></asp:ObjectDataSource>
GridView
Definition:
<asp:GridView
ID="myGridView"
runat="server"
DataSourceID="objSource"
AllowPaging="true"
ShowHeader="true"
AutoGenerateColumns="false"
AllowSorting="true"
Width="100%" >