2014-01-08 2 views
0

Я сделал календарь, используя ретранслятор. Он будет правильно отображать все дни и т. Д. В конце концов, он будет принимать заказы на каждый день. Какой идентификатор нравится делать сейчас, это сделать каждый из чисел дня ссылкой, используя страницу aspx. Часть, которую я бы связал, чтобы сделать ссылку, - это область «<% # Eval (« DAY »)%>». Я хочу, чтобы он перенаправлялся на мою страницу bookings.aspx. Спасибо за любую помощь.add href to 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

вау спасибо! очень быстрый ответ. работает отлично. спасибо, сэр =) есть ли способ сделать X-дневный срок не ссылкой? – user3167841

ответ

2

Вы можете использовать HyperLink как

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

спасибо, сэр, это работает даже лучше, чем приведенный выше ответ. в конце концов, я хочу просмотреть базу данных заказов и вывести правильный идентификатор на каждый день. это, кажется, то, что я был после. большое спасибо =) – user3167841

+0

спасибо за это. новый для сайта. В очередной раз благодарим за помощь. береги себя – user3167841