2014-01-08 47 views
0

我已經做了一個使用中繼器的日曆。它會正確列出所有的日子等等。最終它會每天進行預訂。現在想做的事情是,使用aspx頁面將每一天的數字作爲鏈接。鏈接的部分是這個區域「<%#Eval(」DAY「)%>」。我希望它重定向到我的bookings.aspx頁面。謝謝你的幫助。添加href到Eval

C#:

public partial class Calendar : System.Web.UI.Page 
{ 
    int month = 1; 
    int year = 2014; 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     month = int.Parse(CurrentDate.Value); 
    } 
    protected override void OnPreRender(EventArgs e) 
    { 
     System.Globalization.DateTimeFormatInfo monthname = new System.Globalization.DateTimeFormatInfo(); 
     string strMonthName = monthname.GetAbbreviatedMonthName(month); 
     MonthLabel.Text = strMonthName; 
     YearLabel.Text = year.ToString(); 
     List<DayOb> thismonthsdays = new List<DayOb>(); 
     string datefirst = month.ToString() + "/1/" + year.ToString(); 
     DateTime fst = DateTime.Parse(datefirst); 
     int dow = (int)fst.DayOfWeek; 
     for (int i = 0; i < dow; i++) 
     { 
      if (i == 0) 
      { 
       thismonthsdays.Add(new DayOb { CSS = "day sunday", Day = "X" }); 
      } 
      else 
      { 
       thismonthsdays.Add(new DayOb { CSS = "day", Day = "X" }); 
      } 

     } 
     int endofmonth = fst.AddMonths(1).AddDays(-1).Date.Day; 
     for (int i = 1; i <= endofmonth; i++) 
     { 
      DayOfWeek thisdow = DateTime.Parse(month.ToString() + "/" + i.ToString() + "/" + year.ToString()).DayOfWeek; 
      thismonthsdays.Add(new DayOb { CSS = "day " + thisdow.ToString().ToLower(), Day = i.ToString() }); 
     } 
     cal.DataSource = thismonthsdays; 
     cal.DataBind(); 
     base.OnPreRender(e); 
    } 
    class DayOb 
    { 
     public string CSS { get; set; } 
     public string Day { get; set; } 
    } 

HTML:

<asp:Repeater ID="cal" runat="server"> 
    <HeaderTemplate> 
     <div class='day sunday header'> 

      Su 
     </div> 
     <div class='day header'> 
      M 
     </div> 
     <div class='day header'> 
      T 
     </div> 
     <div class='day header'> 
      W 
     </div> 
     <div class='day header'> 
      T 
     </div> 
     <div class='day header'> 
      F 
     </div> 
     <div class='day header'> 
      Sa 
     </div> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <div class='<%# Eval("CSS") %>'> 
      <%# Eval("DAY") %> 

     </div> 
    </ItemTemplate> 
</asp:Repeater> 
+0
+0

感謝!非常快速的答覆。作品完美。謝謝先生=)有沒有辦法讓X天沒有偶然的聯繫? – user3167841

回答

2

您可以使用HyperLink

<asp:HyperLink ID="lnkDetails" 
NavigateUrl='<%# Eval("DAY", "~/bookings.aspx?ID={0}") %>' 
runat="server"> 
    <%# Eval("DAY") %> 
</asp:HyperLink> 
+0

謝謝先生,這個作品甚至比上面的答案更好。最終我想查看預訂數據庫,併爲每一天提供正確的ID。這似乎是我之後的事情。非常感謝你=) – user3167841

+0

謝謝你。全新的網站。再次感謝你的幫助。保重 – user3167841