0

userName() を使用してユーザー名を取得し、空白でない場合はフォームの読み込み時にテキスト ボックスに入力するフォームを作成しています。フォームが infopath フォーム フィラーによって入力されると、firstName.lastName が返されます。ただし、フォームが Web フォームから入力された場合、ランダムな文字の後に domain/firstName.lastName が続くものを返します。

理想的には、両方から同じものを取得し、それが firstName Lastname または FirstName.lastName になるようにしたい

現在、Web フォームを有効にしないことでこれを回避していますが、多くのユーザーが Infopath フォーム フィラーを持っていないため、修正する必要があります。

また、フィールドを使用してファイル名の一部を形成するため、ルールが呼び出されるときにこれを修正する必要もあります。

これを克服する方法についてのアイデアはありますか?

4

1 に答える 1

1

SharePoint は、ユーザー名の先頭にランダムな文字を追加するのが大好きです。「#15;」のようなものを見ていると思います。またはそれらの線に沿った何か?

これを修正するには、コード ビハインドで簡単に実行できます。ユーザー名のテキスト ボックスにバインドされているフィールドを取得すると、文字列が返されます。

ほとんどの場合、文字列を解析し、str.IndexOf('/') を見つけて、そのインデックスから長さ -1 までの部分文字列を作成する必要があります。次に、 str.Replace('.', ' ') を実行して、ピリオドをスペースに変更できます。

幸運を!

于 2013-04-04T21:22:09.030 に答える