DropDownList控件的异常

hundun2 2010-10-16 02:55:12
在本地测试的好好的。但是在服务器上总是得不到值。各种方式都试过了。是不是和那个文件有冲突??代码如下。
页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="tixi_adminCenter_test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddrMem" runat="server" >
</asp:DropDownList>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Test" /></div>
</form>
</body>
</html>


页面类代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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.Data.SqlClient;

public partial class tixi_adminCenter_test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!IsPostBack)
{ //加载下拉框
string sqlddl = "select id,uloginname from Site_user where groupid = (select id from Site_usergroup where groupname like '企业联盟')";

SqlCommand cmdddl = new SqlCommand(sqlddl, GetConn.GetCon());
SqlDataAdapter sdaddl = new SqlDataAdapter(cmdddl);
DataTable dtddl = new DataTable();
sdaddl.Fill(dtddl);


this.ddrMem.DataSource = dtddl;
ddrMem.DataValueField = "uloginname";
ddrMem.DataTextField = "uloginname";
ddrMem.DataBind();
if (dtddl.Rows.Count == 0)
{
this.ddrMem.Items.Add("请选择发货会员");

}
}
}
catch (Exception je)
{
Response.Write(je.ToString());
}
finally
{
GetConn.GetCon().Close();
}


}
protected void Button1_Click(object sender, EventArgs e)
{
//if(this.ddrMem.SelectedItem == null)
//{
// Response.Write("aaaaaaaaaaaaaa");
//}
Response.Write("=====" + this.ddrMem.SelectedValue + "1========<br/>");
Response.Write("=====" + this.ddrMem.SelectedIndex + "11=======<br/>");
Response.Write("=====" + this.ddrMem.DataTextField + "111========<br/>");
Response.Write("=====" + this.ddrMem.DataValueField + "1111========<br/>");
Response.Write("=====" + this.ddrMem.SelectedItem.Text + "11111========<br/>");
Response.Write("=====" + this.ddrMem.SelectedItem.Value + "1========<br/>");

Response.Write("=====" + this.ddrMem.Text + "1========<br/>");


}

}
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hundun2 2010-10-19
  • 打赏
  • 举报
回复
在本地都能得到值,好好的。但是传到服务器上就什么都得不到了。要不您给我点详细代码,我再试试。
liuwei2500 2010-10-17
  • 打赏
  • 举报
回复
原因是当你选择新项的时候DropDownList控件内部的值仍然没有改变,即外表改变但是实际值并未改变,通过SelectedValue可以得到外表值。
当然你可以通过设定它的属性AutoPostBack = "true";来实时更新其内部值。达到通过内部取值也能成功
wuyq11 2010-10-16
  • 打赏
  • 举报
回复
Response.Write("=====" + this.ddrMem.SelectedValue+ "1========<br/>");

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧