2009-09-18 65 views
0

我有我的應用程序下拉控件即分別爲ddlmonth和ddlday和我加入加入到ddldays個月(一月,二月ECT在ddlmonth)和天(1,2,...... 31)當我運行我的頁面我顯示當前月份和日期這是我的代碼有下拉工作控制

public void getMonth() { 
     ddlmonth.SelectedIndex = DateTime.Now.Month -1; 
     ddldate.SelectedIndex = DateTime.Now.Day - 1; 
    } 

我把它放在頁面加載中。像這樣

protected void Page_Load(object sender, EventArgs e){ 
     getMonth(); 
    } 

它工作正常,但是當我在getpostback中保留getMonth()時,它不顯示當前的月份和日期。

protected void Page_Load(object sender, EventArgs e) { 
     if(!isPostback) { 
     getMonth(); 
     } 
    } 

本我放置而不在頁面加載的IsPostBack當我選擇ddlmonth(下拉)diffent月和ddlday(dropdwon)diffent天(不是當前月和日)當我在數據庫按下按鈕 它被插入當前月份和一天,實際上我選擇不同的月份和日期 ,這是我的代碼。

protected void btnEvent_Click(object sender, EventArgs e){ 
       clsevents.Month = ddlmonth.SelectedValue.ToString(); 
       clsevents.Day = ddldate.SelectedValue.ToString(); 
    } 

但在數據庫中,就是將目前的山和一天,當我選擇ddlmont(dropdwon)diffent蒙白天和ddlday 請幫我一些之一。

+0

爲什麼你發佈相同的問題,而不是更新一個嗎? http://stackoverflow.com/questions/1438395/dropdown-controls-in-asp-net –

回答

0

這裏是我完整的示例代碼,首先是落後

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      getMonth(); 
     } 
    } 

    private void getMonth() 
    { 
     ddlDay.Text = DateTime.Now.Day.ToString(); 
     ddlMonth.Text = DateTime.Now.Month.ToString(); 
    } 

    protected void btnClick_Click(object sender, EventArgs e) 
    { 
     string strDate = ddlDay.Text + "/" + ddlMonth.SelectedItem.Value + "/09"; 
     getMonth(); 
    } 

的代碼,這裏是我的HTML。

<asp:DropDownList ID="ddlDay" runat="server" CssClass="inputfield"> 
         <asp:ListItem Text="1"></asp:ListItem> 
         <asp:ListItem Text="2"></asp:ListItem> 
         <asp:ListItem Text="3"></asp:ListItem> 
         <asp:ListItem Text="4"></asp:ListItem> 
         <asp:ListItem Text="5"></asp:ListItem> 
         <asp:ListItem Text="6"></asp:ListItem> 
         <asp:ListItem Text="7"></asp:ListItem> 
         <asp:ListItem Text="8"></asp:ListItem> 
         <asp:ListItem Text="9"></asp:ListItem> 
         <asp:ListItem Text="10"></asp:ListItem> 
         <asp:ListItem Text="11"></asp:ListItem> 
         <asp:ListItem Text="12"></asp:ListItem> 
         <asp:ListItem Text="13"></asp:ListItem> 
         <asp:ListItem Text="14"></asp:ListItem> 
         <asp:ListItem Text="15"></asp:ListItem> 
         <asp:ListItem Text="16"></asp:ListItem> 
         <asp:ListItem Text="17"></asp:ListItem> 
         <asp:ListItem Text="18"></asp:ListItem> 
         <asp:ListItem Text="19"></asp:ListItem> 
         <asp:ListItem Text="20"></asp:ListItem> 
         <asp:ListItem Text="21"></asp:ListItem> 
         <asp:ListItem Text="22"></asp:ListItem> 
         <asp:ListItem Text="23"></asp:ListItem> 
         <asp:ListItem Text="24"></asp:ListItem> 
         <asp:ListItem Text="25"></asp:ListItem> 
         <asp:ListItem Text="26"></asp:ListItem> 
         <asp:ListItem Text="27"></asp:ListItem> 
         <asp:ListItem Text="28"></asp:ListItem> 
         <asp:ListItem Text="29"></asp:ListItem> 
         <asp:ListItem Text="30"></asp:ListItem> 
         <asp:ListItem Text="31"></asp:ListItem> 
        </asp:DropDownList>&nbsp; 
        <asp:DropDownList ID="ddlMonth" runat="server"> 
         <asp:ListItem Value="1" Text="January"></asp:ListItem> 
         <asp:ListItem Value="2" Text="February "></asp:ListItem> 
         <asp:ListItem Value="3" Text="March"></asp:ListItem> 
         <asp:ListItem Value="4" Text="April"></asp:ListItem> 
         <asp:ListItem Value="5" Text="May"></asp:ListItem> 
         <asp:ListItem Value="6" Text="June"></asp:ListItem> 
         <asp:ListItem Value="7" Text="July"></asp:ListItem> 
         <asp:ListItem Value="8" Text="August"></asp:ListItem> 
         <asp:ListItem Value="9" Text="September"></asp:ListItem> 
         <asp:ListItem Value="10" Text="October"></asp:ListItem> 
         <asp:ListItem Value="11" Text="November"></asp:ListItem> 
         <asp:ListItem Value="12" Text="December"></asp:ListItem> 
        </asp:DropDownList> 
        <asp:Button ID="btnClick" Text="Click" runat="server" CssClass="Button" OnClick="btnClick_Click" /> 

對不起,我沒有粘貼整個html。 希望你會得到你的解決方案,因爲我已經測試了上面的代碼。

1

我檢查了代碼。請嘗試下面的代碼並檢查。

Default.aspx.cs

using System; 
using System.Data; 
using System.Configuration; 
using System.Collections; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 

public partial class Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      DataTable dt = new DataTable(); 
      dt.Columns.Add("val"); 

      DataRow dr; 
      for (int i = 1; i <= 31; i++) 
      { 
       dr = dt.NewRow(); 
       dr[0] = i; 
       dt.Rows.Add(dr); 
      } 
      dt.AcceptChanges(); 
      ddlDay.DataTextField = "val"; 
      ddlDay.DataValueField = "val"; 
      ddlDay.DataSource = dt; 
      ddlDay.DataBind(); 
      getMonth(); 
     } 
    } 
    public void getMonth() 
    { 
     ddlMonth.SelectedIndex = DateTime.Now.Month - 1; 
     ddlDay.SelectedIndex = DateTime.Now.Day - 1; 
    } 
    protected void btnSubmit_Click(object sender, EventArgs e) 
    { 
     lblSelectedDate.Text = ddlDay.SelectedValue + "/" + ddlMonth.SelectedValue + "/09"; 
    } 

} 

的Default.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>Untitled Page</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <div> 
      day : 
      <asp:DropDownList ID="ddlDay" runat="server"> 
      </asp:DropDownList> 
      Month: 
      <asp:DropDownList ID="ddlMonth" runat="server"> 
       <asp:ListItem Value="1" Text="Jan" Selected="True"></asp:ListItem> 
       <asp:ListItem Value="2" Text="Feb"></asp:ListItem> 
       <asp:ListItem Value="3" Text="Mar"></asp:ListItem> 
       <asp:ListItem Value="4" Text="Apr"></asp:ListItem> 
       <asp:ListItem Value="5" Text="May"></asp:ListItem> 
       <asp:ListItem Value="6" Text="Jun"></asp:ListItem> 
       <asp:ListItem Value="7" Text="Jul"></asp:ListItem> 
       <asp:ListItem Value="8" Text="Aug"></asp:ListItem> 
       <asp:ListItem Value="9" Text="Sep"></asp:ListItem> 
       <asp:ListItem Value="10" Text="Oct"></asp:ListItem> 
       <asp:ListItem Value="11" Text="Nov"></asp:ListItem> 
       <asp:ListItem Value="12" Text="Dec"></asp:ListItem> 
      </asp:DropDownList> 
      <br /> 
      <asp:Button ID="btnSubmit" runat="server" Text="Save" OnClick="btnSubmit_Click" /> 
      <hr /> 
      <asp:Label ID="lblSelectedDate" runat="server"></asp:Label> 
     </div> 
    </form> 
</body> 
</html> 

請檢查一下。

+0

抱歉,它不工作 –

0

根據您提到在上面的代碼我有什麼瞭解的情況是,你希望給用戶選擇的日期保存在數據庫中,然後重置當前值的月份和日子??? 你必須使用IsPostBack屬性,如果你不使用它,不要放置的IsPostBack作用下,您的GETDATE函數,那麼它會如果你看看

用戶選擇的值重置爲當前的月份和日期http://msdn.microsoft.com/en-us/library/ms178472.aspx

鏈接,您可以看到,網頁的生命週期是

  1. 負載
  2. 驗證
  3. 回發事件處理

這裏我提到重要的事件處理程序,你可以看到,Load事件是頁面加載觸發備份每次頁面後。現在,如果頁面被你的情況下的任何按鈕控制回發,那麼IsPostBack爲true,並且如果將它放在IsPostBack檢查中,則在頁面加載中的代碼不會執行。現在,如果您想重置日期和月份控制的值,則可以在提交到數據庫後調用您的函數。

希望這會幫助你。

+0

阿西姆saija你明白我的問題,但如果我的IsPostBack當前的月份和日期將不顯示CURENT月,天。如果我放置沒有回發它正在工作。當我選擇不同的月份和日期時,它插入當前的月份和日期不是我選擇的。 –