2010-12-01 91 views
0

我正在使用C#在asp.net中创建一个Web用户控件,我可以从日历中选择一个日期并将其显示在文本框中。当我从日历选择日期时,它必须显示在文本框中。 现在我需要设置我自己的属性,我可以在cs代码文件中选择日期时间模式。例如设置属性并为用户控件创建事件

usercontrol1.dd-mm-yyyy. 

这是一个例子。现在我想要“en-us”的所有日期时间模式。当我在另一个页面中使用该用户控件时,我想设置该控件的任何属性(日期时间模式)。请帮帮我!!!

我想这种编码,但没有用...... PLZ审查,并给我的解决方案

公共部分类DateControl:System.Web.UI.UserControl {

string dateformat; 

    public string Dateformat 
    { 
     get { return dateformat;} 

     set { dateformat = value; } 

    } 


    protected void Page_Load(object sender, EventArgs e) 
    { 

     if(!Page.IsPostBack) 
     { 
     PageLoad(); 
     lnlbtnChangeDate.Visible = false; 
     ddlDateFormat.Visible = false; 
     Calendar.Visible = false; 
     } 
     lblError.Visible = false; 

    } 
    public void PageLoad() 
    { 


     if (txtBoxDate.Text != "") 
     { 
      Calendar.Visible = false; 
     } 
     CultureInfo ci = new CultureInfo("fr-fr"); 
     string[] format = ci.DateTimeFormat.GetAllDateTimePatterns(); 
     foreach (string i in format) 
     { 
      ddlDateFormat.Items.Add(i); 
     } 

    } 




    protected void lnkbtnPickDate_Click(object sender, EventArgs e) 
    { 
     Calendar.Visible = true; 
     lnlbtnChangeDate.Visible = true; 
     ddlDateFormat.Visible = false; 

    } 



    public void Calendar_SelectionChanged1(object sender, EventArgs e) 
    { 
     txtBoxDate.Text = Calendar.SelectedDate.ToShortDateString(); 

    } 

    protected void ddlDateFormat_SelectedIndexChanged(object sender, EventArgs e) 
    { 

     txtBoxDate.Text = Calendar.SelectedDate.ToString(ddlDateFormat.SelectedValue.ToString()); 
    } 


    protected void lnlbtnChangeDate_Click(object sender, EventArgs e) 
    { 
     Calendar.Visible = false; 
     if (txtBoxDate.Text == "") 
     { 
      lblError.Visible = true; 
     } 
     else 
     { 
      lblError.Visible = false; 
      lnlbtnChangeDate.Visible = true; 
      ddlDateFormat.Visible = true; 
     } 
    } 

    protected void lnkbtnClear_Click(object sender, EventArgs e) 
    { 
     txtBoxDate.Text = ""; 
     Calendar.Visible = false; 
     lnlbtnChangeDate.Visible = false; 
     ddlDateFormat.Visible = false; 
     lblError.Visible = false; 
    } 

我说我要设置属性为我的用户控制和创建该事件.... plz帮助我

+0

我觉得你在问很多人可以回答的问题,但是我担心你写的东西不是很清楚。你可以尝试澄清你的问题多一点。 – 2010-12-01 13:05:34

+0

谢谢,但我不知道解释更多比这可以ü请告诉它的褶子 – jsk 2010-12-01 13:07:35

回答

0

不知道我得到它的权利,在这个问题不是很清楚,但无论如何:

你可以只创建属性为你的用户控件,并根据枚举值赋给枚举他们

public enum My_UserControl_DateFormats 
    { 
     YYYYMMDD = 1, 
     YYYYMMDDHH = 2, 
     YYYYMMDDHHmmSS = 3 
    } 

然后在属性中的二传手代码办理指定日期格式(例如)逻辑(使用开关/外壳)

这是众多可能性之一。

相关问题