0

私はもう少し長い間壁に頭をぶつけてきました。

私はSharepointサーバーにlists.asmxWebサービスを使用しており(2007年なので、残念ながらクライアントオブジェクトモデルはありません)、サーバー上の必要なすべてのアイテムフィールドを正常に更新できました...日付を除く。そして、私は読み取り専用の日付について言及していません。サイト自体のリストアイテムにmm/dd/yyyy形式で入力できる日付のみ。

私はC#を使用していますが、誰かが私のCAMLに対する潜在的に単純な修正を見ることができれば(問題はここにありますが、私はかなり確信しています)、それをいただければ幸いです。

batchElementGlobal.InnerXml = "<Method ID='1' Cmd='Update'>" +

        "<Field Name='ID'>" + GlobalVariables.ID + "</Field>" +
        "<Field Name='Title'>" + tempExperiment.ProjName + "</Field></Method>" +

        "<Method ID='1' Cmd='Update'>" +
        "<Field Name='ID'>" + GlobalVariables.ID + "</Field>" +
        "<Field Name='Experiment_x0020_Lead'>" + tempExperiment.ProjLead + "</Field></Method>" +

        "<Method ID='1' Cmd='Update'>" +
        "<Field Name='ID'>" + GlobalVariables.ID + "</Field>" +
        "<Field Name='Technology_x0020_Partner'>" + tempExperiment.TechPartner + "</Field></Method>" +

        "<Method ID='1' Cmd='Update'>" +
        "<Field Name='ID'>" + GlobalVariables.ID + "</Field>" +
        "<Field Name='IT_x0020_Functional_x0020_Area'>" + tempExperiment.FunctionalArea + "</Field></Method>" +

        "<Method ID='1' Cmd='Update'>" +
        "<Field Name='ID'>" + GlobalVariables.ID + "</Field>" +
        "<Field Name='Start_x0020_Date'>" + strProjStartDateTime + "</Field></Method>" +

        "<Method ID='1' Cmd='Update'>" +
        "<Field Name='ID'>" + GlobalVariables.ID + "</Field>" +
        "<Field Name='End_x0020_Date'>" + strProjEndDateTime + "</Field></Method>" +

        "<Method ID='1' Cmd='Update'>" +
        "<Field Name='ID'>" + GlobalVariables.ID + "</Field>" +
        "<Field Name='Read_x0020_Out_x0020_Date'>" + strProjReadoutDateTime + "</Field></Method>" +

(これは簡略化されたバージョンです。複数の単語のフィールドをどのようにフォーマットし、それらが機能するかを示したいと思いました。strProjXXXDateTime文字列はすべて同じフォーマットです。例: "6/18/2012")

SharePoint側では、ある種の日付の書式設定があるかもしれませんが、サイト自体で標準の文字列形式で日付を入力できるため、文字列を使用することは完全にオプションであると考えました。おそらくそうではありませんか?他に何か必要な場合はお知らせください。

ありがとう!

(補足-過去のテストでは、各フィールドには独自のメソッドセクションが必要であると結論付けましたが、これは奇妙だと思いました。1つのアイテムを更新しているにもかかわらず、差別化が必要でした。それは単なるまぐれでしたか?すべてを置くことができますか?フィールドは1つの方法の下にありますか?)

4

2 に答える 2

0

...うん。愚かな間違い。

http://msdn.microsoft.com/en-us/library/lists.lists.updatelistitems(v=office.12).aspx

または、リンクをクリックするのが嫌いな自宅で遊んでいる人のために:2006-1-11T09:15:30Z

私は間違いなく自分の日付をこの形式に変換しようとしましたが、明らかにそれは十分に具体的ではありませんでした。

これはちょうどトリックをしました。うまくいけば、このばかげた障害に遭遇したことがある他の人がこれが役立つと思うでしょう。

それで全部です。:)

于 2012-08-01T18:26:53.057 に答える
0

カスタムリストのItemUpdating(SPItemEventReceiver)で、カスタム日時フィールド(DateOnlyモード)の日付を更新するために、次を使用する必要がありました。

SPUtility.CreateISO8601DateTimeFromSystemDateTime(DateTime.Today)

日付を処理する奇妙な方法;)

于 2012-08-02T11:51:09.183 に答える