今天為了解決掉IE7的網址列的問題,花了一段時間。

在IE7的架構下,如果網站本身沒有加入「信任的網城」的話,會強制出現網址列與狀態列。解決的方式只能請使用者將網站加入信任,不然很多東西都會破功的,所以這只能治標,不能治本。

設定前:

befor_setSafe 

設定:

setSafe 

設定後:

after_setSafe 

--

今天的作業是,要在main.aspx上點擊textbox,跳出一個showModalDialog,它會連結cal.aspx,然後從cal.aspx回傳複選的日期數字。

 

main.aspx:加入一個TextBox控制項。


main.aspx.cs:在Form_load中初始化控制項,加上javascript語法

protected void Page_Load(object sender, EventArgs e)

{
    setCal(TextBox1);
}

protected void setCal(TextBox txt)

{
string
url, js, sFeatures;
url =
string.Format("cal.aspx?dates=");
sFeatures =
"dialogHeight:250px; dialogWidth:300px; dialogTop:px; dialogLeft:px; center:Yes; help:No; resizable:No; status:No;scroll:No";
js =
string.Format("var tmp=showModalDialog('{1}'+document.getElementById('{0}').value,'','{2}');if (tmp != null )document.getElementById('{0}').value=tmp;", txt.ClientID, url, sFeatures);
txt.Attributes[
"onclick"] = js;
txt.Attributes[
"readonly"] = "true";
}

 

 


cal.aspx

加入一個Calendar控制項,一個Button控制項

 


cal.aspx.cs

ArrayList astr = new ArrayList();//新增一個共用陣列,拿來存放日期

protected void Page_Load(object sender, EventArgs e)

{

if (Request.QueryString["dates"] != null && Request.QueryString["dates"] != "")//從QueryString取得日期字串

{

string[] str = ((string)Request.QueryString["dates"]).Split(',');//Split函數中,記得用單引號就好。
astr.AddRange(str);
//把字串陣列塞入共用陣列中

}

}

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) //在日期控制項中做複選的準備

{

if (e.Day.IsOtherMonth)

{

    e.Cell.Text = e.Day.DayNumberText;//如為其它月份就別出來亂了

}

else

{

HtmlInputCheckBox oCheckBox = new HtmlInputCheckBox();//產生一個HTML的checkbox

if (astr.Contains(e.Day.DayNumberText)) //如果天數包含在共用陣列中的話,打勾

    oCheckBox.Checked = true;

oCheckBox.Value = e.Day.DayNumberText;

oCheckBox.ID = "SelectDate";//給定form的名字,會在送出時讀取這個form的資料

e.Cell.Controls.Clear();

e.Cell.Controls.Add(oCheckBox);

e.Cell.Controls.Add(new LiteralControl(e.Day.DayNumberText));

}

}

protected void Button1_Click(object sender, EventArgs e)

{

string js;//用this.Request.Form["SelectDate"],讀取送出的資料

js = string.Format("window.returnValue='{0}';window.close();", this.Request.Form["SelectDate"]);//回傳日期

this.ClientScript.RegisterStartupScript(this.GetType(), "_Calendar", js, true);//註冊script

}

 

 

 

 

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 ikaritw 的頭像
    ikaritw

    嚼的絮絮叨叨

    ikaritw 發表在 痞客邦 留言(0) 人氣()