Question

Comment puis-je configurer un ASP.NET GridView pour remplir par une source de données objet où la méthode objet a besoin d'un noticeCode de passer par le code C #?

StudentControlPanel.aspx.cs

protected void Page_Load(object sender, EventArgs e)
    {
        string username = (string)Request.QueryString["username"];

        Student std = Student.GetStudentByUsername(username);

        if (std != null)
        {
            labName.Text = std.StudentName;
            labUsername.Text = username;
            labRollNo.Text = std.RollNo;
            labRegNo.Text = std.RegNo;

            Dept dpt = std.Department;

            if (dpt != null)
            {
                labDepartment.Text = dpt.DeptName;
            }
            else
            {
                labDepartment.Text = "?";
            }
        }

        /*        Student-class has a SessionCode-property          */
        /*        I need to pass this to Notice.GetNoticesBySessionCode()...*/
    }

Notice.cs

public class Notice
{
public static List<Notice> GetNoticesBySessionCode(string sessionCode)
        {
            List<Notice> notices = null;

            /*      EcecuteReader().....         */

            return notices;
        }
    }

text alt

Était-ce utile?

La solution

Vous devrez lier la valeur de std.SessionCode au ObjectDataSource dans le code-behind. Dans l'écran « Configurer la source de données » ci-dessus, choisissez Aucun pour l'instant. Vous serez liez dynamiquement.

Si votre ObjectDataSource ressemble à ceci:

<asp:ObjectDataSource ID="myObjDS" runat="server"
  TypeName="YourNamespace.Notice"
  SelectMethod="GetNoticesBySessionCode">
  <SelectParameters>
    <asp:Parameter Name="sessionCode" Type="String"/>
  </SelectParameters>
</asp:ObjectDataSource>

Ensuite

if (std != null)
{
  //all the other code you have above.
  myObjDS.SelectParameters["sessionCode"].DefaultValue = std.SessionCode;
  myObjDS.DataBind(); //ensure you actually need this, may cause a double roundtrip to your DB.
}

Autres conseils

La réponse ci-dessus est-il à peu près bien couvert. Il suffit d'ajouter, vous pouvez également ajouter des paramètres en cas onselecting du ObjectDataSource.

http: // msdn .microsoft.com / fr-fr / bibliothèque / system.web.ui.webcontrols.objectdatasource.selecting.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top