0

SharePoint デザイナーを使用して、xslt でカスタム リスト フォームをカスタマイズしています。私のリストには、数値を表すテキストボックスがあります。

このテキスト ボックスを、定義済みの値 (1 ~ 7) を含むドロップダウン リストとしてユーザーに提示したいと考えています。残念ながら、SPFieldChoice は SharePoint Designer ワークフローで文字列として評価され、組み込みの変換がないため、使用できません。

asp DropDownList コントロールを単純に定義して ddwrt:DataBind 構文を使用できることを望んでいますが、次の方法は機能しません。

<asp:DropDownList id="ddlValue" runat="server" 
   __designer:bind="{ddwrt:DataBind('i', 'ddlValue', 
                    'SelectedValue', 'OnSelectedIndexChanged', 'ID',
                     ddwrt:EscapeDelims(string(@ID)),'@MyField')}">
   <asp:ListItem value="1" selected="true">1</asp:ListItem>
   <asp:ListItem value="2">2</asp:ListItem>
   <asp:ListItem value="3">3</asp:ListItem>
   <asp:ListItem value="4">4</asp:ListItem>
   <asp:ListItem value="5">5</asp:ListItem>
   <asp:ListItem value="6">6</asp:ListItem>
   <asp:ListItem value="7">7</asp:ListItem>    
</asp:DropDownList>

選択された値「1」は、アイテムの作成時に保存されるため、データバインディングを取得しています。ただし、他の値を選択すると、「1」が記録されます。

構文が間違っていますか、それとももっと良い方法がありますか?

あなたならどうしますか?

4

2 に答える 2

0

回避策: 事前選択パラメータを試してください

<xsl:param name="Anrede" select="@Anrede"/>

そしてそれを使用します

<asp:DropDownList runat="server" id="ff1{$Pos}" 
__designer:bind="{ddwrt:DataBind('u',concat('ff1',$Pos),'SelectedValue', 'TextChanged','ID',ddwrt:EscapeDelims(string('')),'@Anrede')}" >
    <asp:ListItem value="{$Anrede}" selected="true"><xsl:value-of select="@Anrede"></xsl:value-of></asp:ListItem>                   
    <asp:ListItem value="">----</asp:ListItem>
    <asp:ListItem value="Herr">Herr</asp:ListItem>
    <asp:ListItem value="Frau">Frau</asp:ListItem>
</asp:DropDownList>
于 2013-04-20T19:49:32.230 に答える