0

サブサイトからのアナウンスを含む SPGridView を SharePoint 2010 Foundation に持っています。列は 1 つだけです。HyperLinkField は、アナウンスのタイトルを表示し、アイテムの表示へのリンクを表示します。

データは、SPDataSiteQuery を使用して収集されます。

私が欲しいのは、コンテンツ エディター Web パーツを含むページに追加された JavaScript を実行するためのリンクです。これにより、モーダル ボックスが開き、そこに表示フォームが表示されます。

私のコードは現在以下のようになっており、同じウィンドウで dispform を正常に開きますが、JavaScript を呼び出すようにしたいと考えています。

HyperLinkField hyperFieldTask = new HyperLinkField();
            hyperFieldTask.HeaderText = "News";
            hyperFieldTask.DataTextField = "Title";

            string[] itemUrl = { "FileDirRef" };
            hyperFieldTask.DataNavigateUrlFields = itemUrl;
            hyperFieldTask.DataNavigateUrlFormatString = "";
            hyperFieldTask.SortExpression = "Title";

            this.grid.Columns.Add(hyperFieldTask);

いくつかの解決策を試しましたが、非アクティブなリンクしか表示されません。

hyperFieldTask.DataNavigateUrlFormatString = "JavaScript:ShowDialog('url')";

hyperFieldTask.DataNavigateUrlFields = "JavaScript:ShowDialog('url')";

私がしていることは何もうまくいかないようです。

明らかな何かを見逃しましたか?

助けてくれてありがとう。

編集:

NavigateUrl を使用してみましたが、実際に JavaScript を呼び出します。

hyperFieldNews.NavigateUrl = "javascript:ShowDialog('http://www.google.com', '600')";

次のステップは、www.google.com を URL として使用する代わりに、「FileDirRef」の値を使用することです。

4

1 に答える 1

0

次の JavaScript 関数を追加します。

<script type="text/javascript"> function ModalPopup(url, title) { var options = SP.UI.$create_DialogOptions(); options.url = url; options.title = title; options.dialogReturnValueCallback = function () { SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.OK); }; SP.UI.ModalDialog.showModalDialog(options); } </script>

これで、リンクを作成して関数を呼び出すことができます:

HyperLink hyper1 = new HyperLink(); string popUpPageUrl = "javascript:ModalPopup('" + url + "','Display Item')"; hyper1.NavigateUrl = popUpPageUrl; hyper1.Text = "News";

于 2012-10-02T21:13:50.840 に答える