Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以将click事件中的值传递给ListView SelectMethod?_C#_Asp.net_Listview - Fatal编程技术网

C# 是否可以将click事件中的值传递给ListView SelectMethod?

C# 是否可以将click事件中的值传递给ListView SelectMethod?,c#,asp.net,listview,C#,Asp.net,Listview,我有一个名为Day Pilot Calendar的第三方日历控件,它有一个EventClickHandling事件,当我单击日历中的某个事件时,它会进行回发。当我单击某个事件时,我希望在列表视图中显示该事件的详细信息。事件的详细信息(ID、名称、开始/结束日期)存储在数据库表中。每个事件都有一个或两个学校科目(如数学考试、英语考试)存储在另一个表中。我试图实现的是,当我点击一个事件时,我会得到EventID并希望将其传递到一个ListView,在那里我可以与Subjects表中的SubjectI

我有一个名为Day Pilot Calendar的第三方日历控件,它有一个EventClickHandling事件,当我单击日历中的某个事件时,它会进行回发。当我单击某个事件时,我希望在列表视图中显示该事件的详细信息。事件的详细信息(ID、名称、开始/结束日期)存储在数据库表中。每个事件都有一个或两个学校科目(如数学考试、英语考试)存储在另一个表中。我试图实现的是,当我点击一个事件时,我会得到EventID并希望将其传递到一个ListView,在那里我可以与Subjects表中的SubjectID进行比较,以获得关于该主题的所有细节。我的问题是,我不知道如何将值从EventClick方法传递到listview SelectMethod,甚至不知道是否可能

我已经用dropdownlist这样做了:

public IQueryable<Subject> GetEventDetails([Control] int ddlEvents)
    {

        var _db = new School.Models.SchoolContext();
        IQueryable<Subject> query = _db.Subjects;

        query = query.Where(p => p.SubjectID == ddlEvents);

        return query;
    }
我的课程是:

    public int SubjectID { get; set; }
    public string SubjectName { get; set; }
    public string SubjectRoom { get; set; }
    public ICollection<Event> Events { get; set; }
public int SubjectID{get;set;}
公共字符串SubjectName{get;set;}
公共字符串SubjectRoom{get;set;}
公共ICollection事件{get;set;}
这就是DayPilotCalendar EventClick方法在没有任何特定代码的情况下的外观:

protected void DayPilotCalendar1_EventClick(object sender, DayPilot.Web.Ui.Events.EventClickEventArgs e)
    {
       <code here>
    }
受保护的无效DayPilotCalendar1\u事件单击(对象发送方,DayPilot.Web.Ui.Events.EventClickEventArgs e)
{

}
这是我想象的,但它完全错了,可能很愚蠢:

public IQueryable<Subject> GetEventDetails([Control] int ValueFromClickEvent)
    {

        var _db = new School.Models.SchoolContext();
        IQueryable<Subjects> query = _db.Subjects;

        query = query.Where(p => p.SubjectID == ValueFromClickEvent);

        return query;
    }
public IQueryable GetEventDetails([Control]来自ClickEvent的int值)
{
var_db=new School.Models.SchoolContext();
IQueryable查询=_db.Subjects;
query=query.Where(p=>p.SubjectID==ValueFromClickEvent);
返回查询;
}
日历的执行:

<DayPilot:DayPilotCalendar ID="DayPilotCalendar1" runat="server" SelectMethod="GetEvents" DataEndField="EndDate" DataStartField="StartDate" DataTextField="EventName" DataValueField="EventID" Days="7" TimeFormat="Clock24Hours" EventClickHandling="PostBack" OnEventClick="DayPilotCalendar1_EventClick" StartDate="2018-05-30" />

填充日历:

public IQueryable<Event> GetEvents()
    {
        var _db = new School.Models.SchoolContext();
        IQueryable<Event> query = _db.Events;
        return query;
    }
publicIQueryable GetEvents()
{
var_db=new School.Models.SchoolContext();
IQueryable查询=_db.Events;
返回查询;
}

你提出了一个很好的问题,但似乎仍然缺少一些细节。你能分享更多关于你的视图模型和实体的信息吗?然后我们应该能提供更多的帮助。我添加了一些细节,也修复了一些错误。既然你提到了,我没有做ViewModel,也许这就是解决方案。然而,如果你检查新的细节,你可能会得到我试图实现的想法。那么这就是webforms?你能发布更多关于日历控件的信息吗?请查看webforms。关于控制装置,你有什么特别想知道的吗?对于ClickEvent,我在创建者的站点上发现了这样一个问题:EventClick处理程序(EventClickEventArgs)的e参数是e.Id中单击事件(DataValueField)的值。日历控件中是否有任何信息?它是本机asp.net webforms
控件还是第三方项目?
public IQueryable<Event> GetEvents()
    {
        var _db = new School.Models.SchoolContext();
        IQueryable<Event> query = _db.Events;
        return query;
    }