2012-01-23 10 views
1

シンプルリストがあり、Sharepointを使用して新しいアイテムフォームを作成しました。FormFieldを使用してリストデータをフィールドにバインドしましたが、 asp.netコントロールを使用してフォームを行う方法。私のビジネスロジックを実装し、私は、データを一覧表示するためにそれらを結合したいプロジェクトモジュール - 私はasp.netのコントロール プロジェクト名として実装2カスケードドロップダウンリストボックスを持っていることをSharepoint 2010カスタム新しいフォームは、Sharepointコントロールの代わりにASP.NETコントロールを使用します。

私の問題はあります。

ありがとうございました!

私のテストプロジェクトの詳細な説明: チームメンバーがプロジェクトで費やした時間をプロジェクトモジュールで作業することを報告するためのリストを作成したいと思います。

私はいくつかのプロジェクトと2つのプロジェクトモジュールを含むリストを作成しました。プロジェクト名を含む単一のテキスト列、およびすべてのプロジェクト作業項目を含む複数行のテキスト列。

実際の時間レポートデータを含む別のリスト(時間管理)を作成しました。 ユーザー列、日付列、時間数列、プロジェクト名、プロジェクトモジュールです。

その後、私は時間管理リストの新しいフォームを変更して、2つのカスケードドロップダウンボックスを含めて、ユーザーがプロジェクト名を選択できるようにしたかったので、新しいビジュアルWebパーツプロジェクト一覧にリンクしてデータを取得するために、いくつかのカスタムロジックを持つダウンボックスのみ2ドロップを追加しました:

マイた.ascxコード:

Project Name:<asp:DropDownList ID="ProjectName" runat="server" 
AutoPostBack="true" onselectedindexchanged="ProjectName_SelectedIndexChanged" /> 
Project Module:<asp:DropDownList ID="ProjectModule" runat="server" /> 
<SharePoint:SaveButton ID="btnSave" runat="server" ControlMode="New" /> 
<SharePoint:GoBackButton ID="btnBack" runat="server" /> 

問題は2 dropdownlistsが新しい項目にバインドされていないということですオブジェクト。代わりに私が持っているすべての例では、バインディングを自動的に処理するSharePoint:FormFieldコントロールを使用しています。私はaspコントロール上で直接バインディングを行うことができますか?

データバインディングに関する興味深いリンクをasp controls:Is there a good reference SharePoint's databinding syntax? で見つけましたが、それは初心者ではありません。

答えて

1

SharePointはASP.NETの上に構築されているため、SharePointで行うことができるASPでできることはほとんどありません。個人的には、私が働いているプロジェクトのほとんど(あるいは少なくとも私が良いものだと思うもの)の中で、両方の良い組み合わせを使用しています。ASPの背景から来ていて、それに慣れているなら、基本的にはASPサイトを作って、ここで2,3のSharePoint-yのことをやりとりすることができます。

あなたの特定の問題については、個人的には、実際のデータバインディングメソッドを使用するのが好きではありません。私は自分自身にコントロールにアイテムを追加する方が好きです。これは、page_loadメソッドの背後にあるコードで、リスト(またはデータがあればどこでも)をループし、ドロップダウンに項目を追加することを意味します。コントロールでASP.NETスタイルのデータバインディングを使用する場合は、それほど違いはありません。

+0

返事をありがとう。私のポイントはまさに、sharepointはasp.netの上に構築されているので、私はaspの "束縛"(多分JavaScriptの束、命名規則とサーバサイドコード)を複製することができます。問題は..ここで誰も私はフォームとリボンの両方の共有ポイントの保存ボタンを使用できるように、私はasp.netコントロール(最終的にはhtmlフィールドにtraslantes)を共有するために追加する必要があることを知っていますか? ? –

+0

Sharepoint(OOB)形式のSharepointの多くのカスタマイズを行うと、やや難しくなります。 OOBフォームとやりとりする必要のない別のページまたは別のセクションがある場合は、それは簡単ですが、それが困難な場合は十分です。おそらくあなたが降りたいと思う道は、「カスタムフィールドタイプ」を使用することです。基本的には、自分のタイプの列を作成してリストに入れることができます。カラムのレンダリング方法、値の保存方法などをオーバーライドすることができます。ウェブ上でチュートリアルを見つけたり、問題がある場合はお気軽にお問い合わせください。 – Servy

0

カスタムinfopathリストフォームを使用すると、比較的簡単にカスケードドロップダウンを実装できます。詳細を参照してくださいhere

例を参照してください。カスケードドロップダウンを使用する方法については、thisを参照してください。

EDIT:

私ははい

それらをバインドするためにどのようにすることができます場合、私は、私は、ASPコントロールを使用できるかどうかを知りたい、と。新しい項目フォームは基本的にaspxページで、asp.netコントロールやtelerik、infragisticsなどのサードパーティコントロールを使用することができます。データをバインドしたり、インラインコードでイベントハンドラを使用したり、コードビハインドファイルを使用したりできます。しかし、SPデザイナーでコードを書くことは楽しい経験ではありません。

+0

答えをありがとう。私は同じことをすることができるカスタムコントロールもいくつか見つけました。しかし、私の質問はカスケードドロップダウンと厳密には関係していません。私はASPコントロールを使うことができるかどうか、またそれらを束縛する方法ができるかどうかを知りたい。 –

+0

こんにちは。良いニュース。可能であれば、インラインまたはコードの後ろにデータをバインドする方法の例または参照を提供してください。私はSPデザイナーではなく、Visual Studioを使用する予定です。私の元のアイデアは、新しいアイテムフォームを再描画するビジュアルWebパーツを作成することでした。ありがとう。 –

関連する問題