如何保持GridView控件内DropDownList的状态

lyzzbbgo 2007-10-27 11:10:33
DropDownList是用来控制每页的行数的,但是每次修改行数页面刷新后都会跳回默认值.
如能告知原理另送100分
...全文
176 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
SallyAngela 2012-09-01
  • 打赏
  • 举报
回复
同意5楼 ,可以使用局部刷新的方式
gyflwl 2012-08-30
  • 打赏
  • 举报
回复
学习了,谢谢楼主
raymondli 2007-10-28
  • 打赏
  • 举报
回复
把生成DropDownList列表内容的代码写在Page_Load里就可以了.
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
//初始化DropDownList
LoadEnterprise();
}

}
//初始化DropDownList
public void LoadEnterprise()
{
DropListEnterprise.Items.Add("aaaa", "1");
}
lyzzbbgo 2007-10-28
  • 打赏
  • 举报
回复
DropDownList里的数据是事先就有的,所以没办法绑定啊。
yearnwar 2007-10-28
  • 打赏
  • 举报
回复
每次修改的话相当于重新初始化了窗体~~~
所以它会默认值,你可以考虑将当前的状态保存一下,然后在初始的时候将当前你想要的状态再赋值进去。
sunlovesea 2007-10-28
  • 打赏
  • 举报
回复

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//找到Dropdownlist控件;
//DropDownList Type_Ddl = (DropDownList)e.Row.FindControl("Type_Ddl");
//Type_Ddl.SelectedValue = ((HiddenField)e.Row.FindControl("Type_Hdf")).Value;

//DropDownlist的ListItem项必须包含数据库中全部的项,否则会出现"异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。"错误;
//还要注意FindByValue,Items.FindByText的区别,如果下拉列表框由value就用FindByValue;
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowIndex == GridView1.EditIndex)
{

DataRowView rowItem = (DataRowView)e.Row.DataItem;

DropDownList clsName = (DropDownList)e.Row.FindControl("Type_Ddl");
if (rowItem["type"] != DBNull.Value)
{
clsName.Items.FindByText(rowItem["type"].ToString()).Selected = true;
}

}
}

}


wzj_520 2007-10-28
  • 打赏
  • 举报
回复
你的控制显示行数的.如果你的行数是手填的话。.建议你还是用客户端的 空间 select

因为你刷新的时候是刷新整个页面,,不是刷新局部的..肯定会变为初始的状态..建议你用AJAX 做这种效果

局部的刷新~~
最后一只恐龙 2007-10-27
  • 打赏
  • 举报
回复
进入模板列编辑,点DropDownList上面的小箭头,进入“编辑DataBings”,把和字段的绑定设置为双向绑定。
如果没有填充,则在DataRowBound事件中调用DropDownList的DataBind()
honey52570 2007-10-27
  • 打赏
  • 举报
回复
DataBound事件中可以指定
AlexJinni 2007-10-27
  • 打赏
  • 举报
回复
DropDownList 的初始化的时候 要判断~!

like this:

page load 的时候。

if not page.ispostback then
InitialDropDownList()

end if


原理与页面的生命周期有关,不是Dropdownlis控件的问题。
随便找本书。看页面生命周期就好了。
vefo 2007-10-27
  • 打赏
  • 举报
回复
不懂 帮顶

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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