3

メソッドがcall までFindControl()戻る理由。nullFormViewDataBind()

その後、すべてを正しく返しますか?

どのような回避策がありますか?

?DataBind()の最初の呼び出しの前に呼び出すFindControl()

4

5 に答える 5

5

DataBind()を明示的に呼び出すか、FormViewのDataBoundイベントにコードを配置します。

于 2010-01-31T11:51:13.500 に答える
3

FormViewコンテンツを構築するためのデータを取得する前に、コンテンツに関する情報を取得するにはどうすればよいでしょうか?

ですから、あなたはすでに自分の質問に答えていると思いますDataBind()

于 2010-01-31T11:36:05.237 に答える
0

それはBINDINGとは何の関係もありません。1つは、そのバインドされたデータではなく、サーバー制御を探しています。SO-コントロールはFindControlを介して利用可能である必要があります。理由はどこかにあります...

于 2010-11-13T02:21:24.033 に答える
0

私が体験したことは、

System.Web.UI.HtmlControls.HtmlImage bookmarkload = sessionDetail.FindControl("bookmarkimage") as System.Web.UI.HtmlControls.HtmlImage;

返されnullました。

だから、私はこれをしました:

 protected void sessionDetail_DataBound(object sender, EventArgs e)
        {
            LoadBookmarkImage();
        }
  private void LoadBookmarkImage()
        {
            //if (_swapDetails != null)
            //{             
                try
                {
                    _currnetSession = new SessionBL(_user);

                    List<SessionVO> _tmp = null;
                    string sample = Convert.ToString(Page.RouteData.Values["sessionCode"]);
                    if (Session["Prefernce"] != null)
                    {
                        _tmp = (List<SessionVO>)Session["Prefernce"];
                    }
                    if (_tmp != null && _tmp.Count > 0)
                    {
                        _tmp = _tmp.Where(p => p.SessionCode == sample).ToList();
                    }

                    //_currentFavorite.SessionD = _swapDetails[0];
                    _currentFavorite.SessionD = _tmp[0];

                    List<FavoriteVO> _swapList = _user.ViewFavoriteONID(_currentFavorite.SessionD.SessionID);

                    if (_swapList != null && _swapList.Count > 0)
                    {
                        //access javascript counter variable
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "", "counter=1;", true);
                        System.Web.UI.HtmlControls.HtmlImage bookmarkload = sessionDetail.FindControl("bookmarkimage") as System.Web.UI.HtmlControls.HtmlImage;
                        bookmarkload.Src = "/Images/heart-checked.png";
                    }
                }
                catch (Exception ex)
                {
                    labelinfo.Visible = true;
                    labelinfo.InnerHtml = ex.Message;
                    labelinfo.Attributes["class"] = "centering text-center text-danger";
                }
            //}
        } 
于 2016-05-12T12:57:09.943 に答える
0

とても奇妙です。DataBind() を呼び出すだけではうまくいきませんでした。新しいリストを作成し、アイテムを追加し、データソースとして設定し、次にデータビンにする必要がありました。

List<Item> dummyList = new List<Item>();
dummyList.Add(new Item());
formview.DataSource = dummyList;
formview.DataBind();
于 2014-07-30T00:51:20.093 に答える