初学Asp.net 3.5 C# 2008, 书中例子有如下疑问? 望解惑。红色代码部分不懂--------页面标记代码---------
<%@ Page language="c#" Inherits="GreetingCardMaker.GreetingCardMaker" CodeFile="GreetingCardMaker.aspx.cs" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Greeting Card Maker</title>
</head>
<body>
<form runat="server">
<div>
<div style="BORDER-RIGHT: thin ridge; PADDING-RIGHT: 20px; BORDER-TOP: thin ridge; PADDING-LEFT: 20px; FONT-SIZE: x-small; PADDING-BOTTOM: 20px;
BORDER-LEFT: thin ridge; WIDTH: 263px; PADDING-TOP: 20px; BORDER-BOTTOM: thin ridge; FONT-FAMILY: Verdana; HEIGHT: 486px; BACKGROUND-COLOR: lightyellow">Choose
a background color:<br />
<asp:dropdownlist ID="lstBackColor" runat="server" Height="22px" Width="194px"></asp:dropdownlist>
<br /><br />
Choose a font:<br />
<asp:dropdownlist ID="lstFontName" runat="server" Height="22px" Width="194px"></asp:dropdownlist>
<br /><br />
Specify a numeric font size:<br />
<asp:textbox ID="txtFontSize" runat="server"></asp:textbox>
<br /><br />
Choose a border style:<br />
<asp:radiobuttonlist ID="lstBorder" runat="server" Height="59px" Width="177px" Font-Size="X-Small"></asp:radiobuttonlist>
<br /><br />
<asp:checkbox ID="chkPicture" runat="server" Text="Add the Default Picture"></asp:checkbox>
<br /><br />
Enter the greeting text below:<br />
<asp:textbox ID="txtGreeting" runat="server" Height="85px" Width="240px" TextMode="MultiLine"></asp:textbox>
<br /><br />
<asp:button ID="cmdUpdate" runat="server" Height="24px" Width="71px" Text="Update" onclick="cmdUpdate_Click"></asp:button>
</div>
<asp:panel ID="pnlCard" style="Z-INDEX: 101; LEFT: 313px; POSITION: absolute; TOP: 16px" runat="server"
Height="507px" Width="339px" HorizontalAlign="Center"><br />
<asp:Label ID="lblGreeting" runat="server" Height="150px" Width="256px"></asp:Label>
<br /><br /><br />
<asp:Image ID="imgDefault" runat="server" Height="160px" Width="212px" Visible="False"></asp:Image>
</asp:panel>
</div>
</form>
</body>
</html>
---------------------C# 代码-------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace GreetingCardMaker
{ public partial class GreetingCardMaker : System.Web.UI.Page
{
protected void Page_Load(object sender, System.EventArgs e)
{
if (this.IsPostBack == false)
{
// Set color options.
lstBackColor.Items.Add("White");
lstBackColor.Items.Add("Red");
lstBackColor.Items.Add("Green");
lstBackColor.Items.Add("Blue");
lstBackColor.Items.Add("Yellow"); // Set font options.
lstFontName.Items.Add("Times New Roman");
lstFontName.Items.Add("Arial");
lstFontName.Items.Add("Verdana");
lstFontName.Items.Add("Tahoma"); // Set border style options by adding a series of
// ListItem objects.
ListItem item = new ListItem(); // The item text indicates the name of the option.
item.Text = BorderStyle.None.ToString(); // The item value records the corresponding integer
// from the enumeration. To obtain this value, you
// must cast the enumeration value to an integer,
// and then convert the number to a string so it
// can be placed in the HTML page.
item.Value = ((int)BorderStyle.None).ToString(); // Add the item.
lstBorder.Items.Add(item);
// Now repeat the process for two other border styles.
item = new ListItem();
item.Text = BorderStyle.Double.ToString();
item.Value = ((int)BorderStyle.Double).ToString();
lstBorder.Items.Add(item); item = new ListItem();
item.Text = BorderStyle.Solid.ToString();
item.Value = ((int)BorderStyle.Solid).ToString();
lstBorder.Items.Add(item);
// Select the first border option.
lstBorder.SelectedIndex = 0; // Set the picture.
imgDefault.ImageUrl = "defaultpic.png";
}
} protected void cmdUpdate_Click(object sender, System.EventArgs e)
{
// Update the color.
pnlCard.BackColor = Color.FromName(lstBackColor.SelectedItem.Text); // Update the font.
lblGreeting.Font.Name = lstFontName.SelectedItem.Text; try
{
if (Int32.Parse(txtFontSize.Text) > 0)
{
lblGreeting.Font.Size =
FontUnit.Point(Int32.Parse(txtFontSize.Text));
}
}
catch
{
// Use error handling to ignore invalid value.
} // Update the border style.
pnlCard.BorderStyle = (BorderStyle)Int32.Parse(lstBorder.SelectedItem.Value); // Update the picture.
if (chkPicture.Checked == true)
{
imgDefault.Visible = true;
}
else
{
imgDefault.Visible = false;
} // Set the text.
lblGreeting.Text = txtGreeting.Text;
}
}
}
<%@ Page language="c#" Inherits="GreetingCardMaker.GreetingCardMaker" CodeFile="GreetingCardMaker.aspx.cs" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Greeting Card Maker</title>
</head>
<body>
<form runat="server">
<div>
<div style="BORDER-RIGHT: thin ridge; PADDING-RIGHT: 20px; BORDER-TOP: thin ridge; PADDING-LEFT: 20px; FONT-SIZE: x-small; PADDING-BOTTOM: 20px;
BORDER-LEFT: thin ridge; WIDTH: 263px; PADDING-TOP: 20px; BORDER-BOTTOM: thin ridge; FONT-FAMILY: Verdana; HEIGHT: 486px; BACKGROUND-COLOR: lightyellow">Choose
a background color:<br />
<asp:dropdownlist ID="lstBackColor" runat="server" Height="22px" Width="194px"></asp:dropdownlist>
<br /><br />
Choose a font:<br />
<asp:dropdownlist ID="lstFontName" runat="server" Height="22px" Width="194px"></asp:dropdownlist>
<br /><br />
Specify a numeric font size:<br />
<asp:textbox ID="txtFontSize" runat="server"></asp:textbox>
<br /><br />
Choose a border style:<br />
<asp:radiobuttonlist ID="lstBorder" runat="server" Height="59px" Width="177px" Font-Size="X-Small"></asp:radiobuttonlist>
<br /><br />
<asp:checkbox ID="chkPicture" runat="server" Text="Add the Default Picture"></asp:checkbox>
<br /><br />
Enter the greeting text below:<br />
<asp:textbox ID="txtGreeting" runat="server" Height="85px" Width="240px" TextMode="MultiLine"></asp:textbox>
<br /><br />
<asp:button ID="cmdUpdate" runat="server" Height="24px" Width="71px" Text="Update" onclick="cmdUpdate_Click"></asp:button>
</div>
<asp:panel ID="pnlCard" style="Z-INDEX: 101; LEFT: 313px; POSITION: absolute; TOP: 16px" runat="server"
Height="507px" Width="339px" HorizontalAlign="Center"><br />
<asp:Label ID="lblGreeting" runat="server" Height="150px" Width="256px"></asp:Label>
<br /><br /><br />
<asp:Image ID="imgDefault" runat="server" Height="160px" Width="212px" Visible="False"></asp:Image>
</asp:panel>
</div>
</form>
</body>
</html>
---------------------C# 代码-------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace GreetingCardMaker
{ public partial class GreetingCardMaker : System.Web.UI.Page
{
protected void Page_Load(object sender, System.EventArgs e)
{
if (this.IsPostBack == false)
{
// Set color options.
lstBackColor.Items.Add("White");
lstBackColor.Items.Add("Red");
lstBackColor.Items.Add("Green");
lstBackColor.Items.Add("Blue");
lstBackColor.Items.Add("Yellow"); // Set font options.
lstFontName.Items.Add("Times New Roman");
lstFontName.Items.Add("Arial");
lstFontName.Items.Add("Verdana");
lstFontName.Items.Add("Tahoma"); // Set border style options by adding a series of
// ListItem objects.
ListItem item = new ListItem(); // The item text indicates the name of the option.
item.Text = BorderStyle.None.ToString(); // The item value records the corresponding integer
// from the enumeration. To obtain this value, you
// must cast the enumeration value to an integer,
// and then convert the number to a string so it
// can be placed in the HTML page.
item.Value = ((int)BorderStyle.None).ToString(); // Add the item.
lstBorder.Items.Add(item);
// Now repeat the process for two other border styles.
item = new ListItem();
item.Text = BorderStyle.Double.ToString();
item.Value = ((int)BorderStyle.Double).ToString();
lstBorder.Items.Add(item); item = new ListItem();
item.Text = BorderStyle.Solid.ToString();
item.Value = ((int)BorderStyle.Solid).ToString();
lstBorder.Items.Add(item);
// Select the first border option.
lstBorder.SelectedIndex = 0; // Set the picture.
imgDefault.ImageUrl = "defaultpic.png";
}
} protected void cmdUpdate_Click(object sender, System.EventArgs e)
{
// Update the color.
pnlCard.BackColor = Color.FromName(lstBackColor.SelectedItem.Text); // Update the font.
lblGreeting.Font.Name = lstFontName.SelectedItem.Text; try
{
if (Int32.Parse(txtFontSize.Text) > 0)
{
lblGreeting.Font.Size =
FontUnit.Point(Int32.Parse(txtFontSize.Text));
}
}
catch
{
// Use error handling to ignore invalid value.
} // Update the border style.
pnlCard.BorderStyle = (BorderStyle)Int32.Parse(lstBorder.SelectedItem.Value); // Update the picture.
if (chkPicture.Checked == true)
{
imgDefault.Visible = true;
}
else
{
imgDefault.Visible = false;
} // Set the text.
lblGreeting.Text = txtGreeting.Text;
}
}
}
// Set border style options by adding a series of
// ListItem objects.
ListItem item = new ListItem(); // The item text indicates the name of the option.
item.Text = BorderStyle.None.ToString(); // The item value records the corresponding integer
// from the enumeration. To obtain this value, you
// must cast the enumeration value to an integer,
// and then convert the number to a string so it
// can be placed in the HTML page.
item.Value = ((int)BorderStyle.None).ToString(); // Add the item.
lstBorder.Items.Add(item);
转换来转换去,不理解。