在html页面有这样一个控件,我要绑定的是音乐类别,如网络歌曲、日韩歌曲 都是放在数据库的,值得可以从数据库提取出来,也可以绑定,但是提交之后无值。控件是:<asp:DropDownList id="tbMusicSpecial" runat="server" CssClass="select" AutoPostBack="true"></asp:DropDownList>cs页面代码如下:protected void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)//如果加上这个判断tbMusicSpecial.SelectedValue永远都是没有值,不加这个判断tbMusicSpecial.SelectedValue值永远都是第一个.
{
BDMusicType();
}
}
//绑定控件
private void BDMusicType()
{
#region 绑定音乐专辑
DataTable dt = uh.SearchMusicType(this.userId);
this.tbMusicSpecial.DataSource = dt;
this.tbMusicSpecial.DataTextField = "musicTypeName";
this.tbMusicSpecial.DataValueField = "musicTypeId";
this.tbMusicSpecial.DataBind();
this.tbMusicSpecial.SelectedIndex = 0;//这段写不写都没关系。
#endregion
}
//提交事件
protected void Submit1_ServerClick(object sender, System.EventArgs e)
{
#region 添加音乐
string musicSpecial = this.tbMusicSpecial.SelectedValue.ToString();
if(musicSpecial == "")
{
//提交后执行这里。
Response.Write("<script language='javascript'>alert('对不起!音乐专辑不能为空。');location.href='LoadMusic.aspx?URLuserId="+this.userId+"';</script>");
Response.End();
}
else
{
Response.Write(musicSpecial);
}
}希望大家亲自测试一下,给出详细的代码,谢谢了!
{
if (!Page.IsPostBack)//如果加上这个判断tbMusicSpecial.SelectedValue永远都是没有值,不加这个判断tbMusicSpecial.SelectedValue值永远都是第一个.
{
BDMusicType();
}
}
//绑定控件
private void BDMusicType()
{
#region 绑定音乐专辑
DataTable dt = uh.SearchMusicType(this.userId);
this.tbMusicSpecial.DataSource = dt;
this.tbMusicSpecial.DataTextField = "musicTypeName";
this.tbMusicSpecial.DataValueField = "musicTypeId";
this.tbMusicSpecial.DataBind();
this.tbMusicSpecial.SelectedIndex = 0;//这段写不写都没关系。
#endregion
}
//提交事件
protected void Submit1_ServerClick(object sender, System.EventArgs e)
{
#region 添加音乐
string musicSpecial = this.tbMusicSpecial.SelectedValue.ToString();
if(musicSpecial == "")
{
//提交后执行这里。
Response.Write("<script language='javascript'>alert('对不起!音乐专辑不能为空。');location.href='LoadMusic.aspx?URLuserId="+this.userId+"';</script>");
Response.End();
}
else
{
Response.Write(musicSpecial);
}
}希望大家亲自测试一下,给出详细的代码,谢谢了!
我这都赋值了的啊:
this.tbMusicSpecial.DataTextField = "musicTypeName";
this.tbMusicSpecial.DataValueField = "musicTypeId";而且我在网页里查看源文件也是有值的。
string musicSpecial = this.tbMusicSpecial.SelectedValue.ToString();你这句跟踪有值没有
string musicSpecial = this.tbMusicSpecial.SelectedValue.ToString();
在这里打个短点然后看this.tbMusicSpecial.SelectedValue.ToString() 等于多少!
//或许就没这样写的
我是刚上路的菜鸟!!!以后请 高手们 多指教 啊QQ:415789296
Email:[email protected]
这两个我都设置为True了,还是不行。但是我把:
if (!Page.IsPostBack)//如果加上这个判断tbMusicSpecial.SelectedValue永远都是没有值,不加这个判断tbMusicSpecial.SelectedValue值永远都是第一个.
{
BDMusicType();
}
改成:
BDMusicType();
去掉了判断,有值了,但是值永远都是第一个选项Value,以为是this.tbMusicSpecial.SelectedIndex = 0;这里的原因,但是把这个代码注释掉了还是不行!
把enableViewState="False"去掉就可以,卡了我一天。。