问题描述
在我的代码中,通过 Formview 进行研究后,我需要调用 listview.databind 这使得无法获取 Formview 数据,即使它们仍然出现在屏幕中.这是我的代码
within my code , after a research via a Formview , I need to call the listview.databind and this makes impossible to get the Formview data , even if in the screen they still appear . this is my code
protected void DemandeSearchFormView_ItemInserting(object sender, FormViewInsertEventArgs e)
{
ListView listview = (ListView)panelPagination.FindControl("listdeclarations");
ViewState["search"] = "search";
listview.DataBind();
}
databind() 通常调用这个方法
the databind() normally call this method
public DeclarationGeneraleBean RechercheByCritere()
{
DeclarationGeneraleBean declarationBean = new
DeclarationGeneraleBean();
declarationBean.IdService = (int) Session["idService"];
if (ViewState["search"] != null)
{
TextBox numOrdre =
(TextBox)DemandeSearchFormView.FindControl("numtxt");
}
ViewState["search"] 为 null ,我不知道为什么?似乎 databind() 为页面充电或类似的东西.有没有人知道如何处理这个问题?
the ViewState["search"] is null , I dont know why ?? it seems that the databind() recharge the page or something like this . Have any one an idea how to deal with this ?
推荐答案
您是否在页面加载事件中设置了视图状态?
Do you set the viewstate in your page load event?
如果是,我认为您应该在 Page_Load 事件中添加一个条件:
If yes, i think you should add a condition in your Page_Load event :
private void Page_Load()
{
if (!IsPostBack)
{
}
}
如果提交了帖子,它会阻止在此事件上重新加载数据.
it prevent the data to be reloaded on this event, if a post is submited.
这篇关于Listview 数据绑定导致表单视图数据丢失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!