初学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 />&nbsp; 
    <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;
}
}
}

解决方案 »

  1.   

    BorderStyle.None.ToString()是什么玩意?
    // 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);
      

  2.   

    BorderStyle.None.ToString()隐藏边框?
      

  3.   

    不是,楼上的,要看完整的例子。可以吧.aspx 和.cs copy到电脑上运行一下。
    转换来转换去,不理解。