1

コード ビハインドにユーザー コントロールがあり、SPListItem (1 つの SharePoint リストの特定のアイテム) を取得します。そして、このアイテムを管理 (編集および削除) するために、ユーザー コントロール ボタンを配置する必要があります。標準の SharePoint リスト コマンド (モーダル ダイアログで編集、プロンプトで削除) の動作を繰り返す任意のパターンを使用できますか?

例として、ascx ファイルの HTML コードを追加できます。

    <img src="/_layouts/images/fgimg.png" alt="" style="left:-0px !important;top:-128px !important;position:absolute;" /></span>&nbsp;
<a class="ms-addnew" id="idHomePageNewItem" href=".../_layouts/listform.aspx?PageType=8&amp;ListId={03C30976-7C6C-4815-8EB2-2793A97D2EC}&amp;RootFolder=" 
onclick="javascript:NewItem2(event, &quot;.../_layouts/listform.aspx?PageType=8&amp;ListId={03C30976-7C6C-4815-8EB2-72793A97D2EC}&amp;RootFolder=&quot;);javascript:return false;" 
target="_self">Add Item</a>

このリンクは、標準の共有ポイント リスト ビューのリンク ボタンと同じように機能します。また、「アイテムの削除」リンクと「アイテムの編集」リンクも追加する必要があります。(ItemID、リスト GUID などを知っています)。

4

1 に答える 1

2

コントロールの分離コードに削除用のコードを追加するだけで「削除」機能を追加できるため、これは問題になりません。

編集フォームの URL を取得するには、次のコードを使用できます。

    /// <summary>
    /// Gets the edit form URL of the current item.
    /// </summary>
    /// <param name="item">The item.</param>
    /// <returns></returns>
    public static string GetEditFormUrl(SPListItem item)
    {
        return string.Format("{0}/{1}?id={2}&ContentTypeID={3}", item.Web.Url, item.ParentList.Forms[PAGETYPE.PAGE_EDITFORM].Url, item.ID, item.ContentTypeId);
    }

これにより、編集フォームに移動できます。ポップアップに表示したい場合は、「SP.UI.ModalDialog.showModalDialog」機能を使用できます。

于 2012-11-29T10:29:23.533 に答える