DNN LinkBut​​ton OnClick事件未触发(使用asp.net,C#)

时间:2015-08-25 16:28:31

标签: c# asp.net onclick linkbutton dotnetnuke-7

我有一个页面,我想显示存储在MySQL数据库中的事件日历。我使用asp:SqlDataSource和asp:Repeater来拉动事件。我能够拉动事件,但我无法将事件分类到特定日期。我使用带有OnClick事件处理程序的asp:LinkBut​​ton,但是当点击LinkBut​​ton时它似乎没有被触发。我在下面提供了我的代码。任何关于我做错事的帮助以及为什么我的OnClick事件不会被解雇将非常感激./

ascx - page

<div class="Calendar_Container">
    <ul class="Calendar_Tabs">
        <li><asp:LinkButton runat="server" Text="All<br /> Week" OnClick="ShowEvents" CommandArgument="9"></asp:LinkButton></li>
        <li class="Calendar_Active"><asp:LinkButton runat="server" Text="Sun<br />Nov 1" OnClick="ShowEvents" CommandArgument="1"></asp:LinkButton></li>    
        <li><asp:LinkButton runat="server" Text="Fri<br />Nov 6" OnClick="ShowEvents" CommandArgument="6"></asp:LinkButton></li>
    </ul>
</div>
<div class="Calendar_Content">
    <div id="Calendar_AllWeek" class="Calendar_Tab">
            <asp:SqlDataSource runat="server" ID="sqlGetEventsAllWeek" />    
            <asp:Repeater runat="server" ID="rptGetEventsAllWeek" DataSourceID="sqlGetEventsAllWeek">
                <ItemTemplate>
                    <div class="Calendar_Item">

                        <div class="Calendar_ItemInfo">
                            <div class="Calendar_ItemTitle">
                                <h4><a href='<%# Eval("link") %>'><%# Eval("title") %></a></h4><br />
                                <strong><%# Eval("event_start_time") %>&nbsp;<%# Eval("event_end_time") %><br /><%# Eval("event_location") %></strong><br /></div>
                            <div class="Calendar_ItemDescription">
                                <p><%#System.Web.HttpUtility.HtmlDecode(Eval("description").ToString()) %><br />
                                    <%# Eval("event_day") %>
                                </p>
                            </div>
                        </div>                      
                        <div class="clear_float">&nbsp;</div>
                    </div>
                </ItemTemplate>
                <SeparatorTemplate><hr /></SeparatorTemplate>
            </asp:Repeater>   
        </div>

     <div id="Calendar_EventsSun" class="Calendar_Tab">
            <asp:SqlDataSource runat="server" ID="sqlGetEventSun" />
            <asp:Repeater runat="server" ID="rptGetEventSun" DataSourceID="sqlGetEventSun">
                <ItemTemplate>
                    <div class="Calendar_Item">

                        <div class="Calendar_ItemInfo">
                            <div class="Calendar_ItemTitle">
                                <h4><a href='<%# Eval("link") %>'><%# Eval("title") %></a></h4><br />
                                <strong><%# Eval("event_start_time") %>&nbsp;<%# Eval("event_end_time") %><br /><%# Eval("event_location") %></strong><br /></div>
                            <div class="Calendar_ItemDescription">
                                <p><%# System.Web.HttpUtility.HtmlDecode(Eval("description").ToString()) %>
                                    <br /><strong><%# Eval("event_day") %></strong>
                                </p>
                            </div>
                        </div>
                        <div class="clear_float">&nbsp;</div>
                    </div>
                </ItemTemplate>
                <SeparatorTemplate><hr /></SeparatorTemplate>
            </asp:Repeater>
        </div>
 <div id="Calendar_EventsFri" class="Calendar_Tab">
        <asp:SqlDataSource runat="server" ID="sqlGetEventFri" />
        <asp:Repeater runat="server" ID="rptGetEventFri" DataSourceID="sqlGetEventFri">
            <ItemTemplate>
                <div class="Calendar_Item">

                    <div class="Calendar_ItemInfo">
                        <div class="Calendar_ItemTitle">
                            <h4><a href='<%# Eval("link") %>'><%# Eval("title") %></a></h4>
                            <strong><%# Eval("event_start_time") %>&nbsp;<%# Eval("event_end_time") %><br /><%# Eval("event_location") %></strong><br />
                        </div>
                        <div class="Calendar_ItemDescription">
                            <p><%# System.Web.HttpUtility.HtmlDecode(Eval("description").ToString()) %>
                                <br /><strong><%# Eval("event_day") %></strong>
                            </p>
                        </div>
                    </div>
                    <div class="clear_float">&nbsp;</div>
                </div>
            </ItemTemplate>
            <SeparatorTemplate><hr /></SeparatorTemplate>
        </asp:Repeater>
    </div>
</div>

ascx.cs - 背后的代码

namespace Christoc.Modules.Calendar {
  public partial class View : CalendarModuleBase, IActionable
    {
       protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {

                    GetAllWeek("9");
                    GetHomecomingWeekSun("1");
                    GetHomecomingWeekFri("6");                    
                }
            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }

        }

        protected void ShowEvents(object sender, EventArgs e)
        {
            string dayId = ((LinkButton)sender).CommandArgument;

            GetAllWeek(dayId);
            GetHomecomingWeekSun(dayId);
            GetHomecomingWeekFri(dayId);
        }

        private void GetAllWeek(string dayId)
        {
            sqlGetEventsAllWeek.ConnectionString = stampConnStr;
            sqlGetEventsAllWeek.ProviderName = stampProvName;            
            sqlGetEventsAllWeek.SelectCommand = string.Format(@"
                SELECT *
                FROM homecoming_program
                WHERE event_day = ?
                ORDER BY event_day DESC;");
            sqlGetEventsAllWeek.SelectParameters.Clear();
            sqlGetEventsAllWeek.SelectParameters.Add(@"day_id", dayId);
            rptGetEventsAllWeek.DataBind();
        }

        private void GetHomecomingWeekSun(string dayId)
        {
            sqlGetEventSun.ConnectionString = stampConnStr;
            sqlGetEventSun.ProviderName = stampProvName;
            sqlGetEventSun.SelectCommand = string.Format(@"
                SELECT *
                FROM homecoming_program
                WHERE event_day = ?
                ORDER BY event_day DESC;");
            sqlGetEventSun.SelectParameters.Clear();
            sqlGetEventSun.SelectParameters.Add(@"day_id", dayId);
            rptGetEventSun.DataBind();
        }

        private void GetHomecomingWeekFri(string dayId)
        {
            sqlGetEventFri.ConnectionString = stampConnStr;
            sqlGetEventFri.ProviderName = stampProvName;
            sqlGetEventFri.SelectCommand = string.Format(@"
                SELECT *
                FROM homecoming_program
                WHERE event_day = ?
                ORDER BY event_day DESC;");
            sqlGetEventFri.SelectParameters.Clear();
            sqlGetEventFri.SelectParameters.Add(@"day_id", dayId);
            rptGetEventFri.DataBind();
        }


    }

}

0 个答案:

没有答案