<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@Import Namespace="System.IO"%>
<%
string[] achDrives=Directory.GetLogicalDrives();
int nNumOfDrives=achDrives.Length;
for (int i=0;i<nNumOfDrives;i++)
DropDownList1.Items.Add(achDrives[i]);
DropDownList1.SelectedIndex = 0; //这里选定第一个
%>
protected void Button1_Click(object sender, EventArgs e)
{
Label2.Text = DropDownList1.Text;
//这里DropDownList1.Text始终为空,就算在这之前再设置选择一次也一样
}
为什么?怎么解决?
<%@Import Namespace="System.IO"%>
<%
string[] achDrives=Directory.GetLogicalDrives();
int nNumOfDrives=achDrives.Length;
for (int i=0;i<nNumOfDrives;i++)
DropDownList1.Items.Add(achDrives[i]);
DropDownList1.SelectedIndex = 0; //这里选定第一个
%>
protected void Button1_Click(object sender, EventArgs e)
{
Label2.Text = DropDownList1.Text;
//这里DropDownList1.Text始终为空,就算在这之前再设置选择一次也一样
}
为什么?怎么解决?
DataTable dt=new DataTable();
dt.Columns.Add("DegreeText");
dt.Columns.Add("DegreeValue");
DataRow dr=dt.NewRow();
dr["DegreeText"]="大专";
dr["DegreeValue"]=1;
dt.Rows.Add(dr);
dr=dt.NewRow();
dr["DegreeText"]="本科";
dr["DegreeValue"]=2;
dt.Rows.Add(dr);degree.DataSource=dt;
degree.DataFieldText="DegreeText";
degree.DataFieldValue="DegreeValue";
degree.DataBind();
degree.SelectValue="2";
服务器的Page_load --> button click -->客户端画面load,
所以你原来的写法是不可以的.也就是还没初始化下拉列表cs:
using System;
using System.Data;
using System.Configuration;
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;
using System.IO;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string[] achDrives = Directory.GetLogicalDrives();
int nNumOfDrives = achDrives.Length;
for (int i = 0; i < nNumOfDrives; i++)
DropDownList1.Items.Add(achDrives[i]);
DropDownList1.SelectedIndex = 0; //这里选定第一个
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = DropDownList1.Text;
}
}