1

コントロールの子属性プロパティをインライン コードで設定する方法かどうかは誰にもわかりませんか? 私はそのようなことを意味します

        <asp:MenuItem Text="text" NavigateUrl='<%# GetItemURL("val") %>' ></asp:MenuItem>

CodeBehind

        protected string GetItemURL(string tag)
        {
            if (string.IsNullOrEmpty(_pageUrl))
                _pageUrl = UrlManager.CastQueryString(Request.Url.ToString());            
            return string.Format("{0}?item={1}", _pageUrl, tag);
        }

<%# 、 <%= 、 Page.DataBind() などを使用しても、どちらのアプローチも機能しません。障害が発生します。

コード ビハインドでそのようなプロパティを設定するのは非常に見苦しいものです。コードレンダーブロックでそのようなプロパティを設定できる方法が利用できることを願っています

前もって感謝します。

4

1 に答える 1

0

あなたのバインディング構文は正しいです。<asp:MenuItem>何かがコントロールの親をバインドしていることを確認するだけです。this.Page.Databind();適切なデータバインディング コンテキストがまだない場合でも実行できます。

于 2009-05-05T04:24:27.417 に答える