サブサイトからのアナウンスを含む 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」の値を使用することです。