Sharepoint Условные поля в Edit.aspx

Я хотел бы отобразить определенные поля метаданных в форме редактирования на основе значения полей.

Пример: пользователи загружают документ в Doclib для утверждения его менеджером. Им разрешено изменять метаданные Имя, Номер дела, Местоположение, пока элемент не будет утвержден менеджером. После того, как предмет будет одобрен, я хотел бы установить имя и номер дела только для чтения.

Каков наилучший способ удовлетворить это требование?

Если одобрено = да, укажите Имя и Номер дела = Только для чтения, иначе ничего не делайте.

Я пробовал этот метод около 5 часов. Я полагал, что это может отличаться для ModerationStatus. Может потребоваться что-то особенное

print("<xsl:choose>
<xsl:when test="@_ModerationStatus != '0;#approved'">               
<SharePoint:FormField runat="server" id="ff12{$Pos}" ControlMode="Edit" FieldName="Test_x0020_Session" __designer:bind="{ddwrt:DataBind('u',concat('ff12',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Test_x0020_Session')}"/>
<SharePoint:FieldDescription runat="server" id="ff12description{$Pos}" FieldName="Test_x0020_Session" ControlMode="Edit"/>                      
</xsl:when>
<xsl:otherwise>
     <xsl:value-of select="@Test_x0020_Session"></xsl:value-of>
</xsl:otherwise>

«);

Я могу заставить его работать с другими полями, но не с ModerationStatus. Я также попытался изменить его на! = '0' и! = 'Approved' и '0; #Approved'. Есть ли что-то, что я делаю не так?

Похоже, он застрял на 0; # Утверждено

Ответы на вопрос(2)

Ваш ответ на вопрос