Sharepoint Bedingte Felder in Edit.aspx

Ich möchte bestimmte Metadatenfelder im Bearbeitungsformular basierend auf dem Wert eines Feldes anzeigen.

Beispiel: Benutzer laden ein Dokument in die Doclib hoch, um es vom Manager zu genehmigen. Sie dürfen die Metadaten Name, Fallnummer, Ort ändern, bis der Artikel vom Manager genehmigt wurde. Sobald der Artikel genehmigt wurde, möchte ich den Namen und die Fallnummer so einstellen, dass sie nur noch gelesen werden können.

Was ist der beste Weg, um diese Anforderung zu erfüllen?

If approved = yes set Name und Fall No = Read only Sonst nichts tun.

Ich habe diese Methode etwa 5 Stunden lang ausprobiert. Ich dachte, dass dies für ModerationStatus anders sein könnte. Könnte etwas Besonderes erfordern

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>

");

Ich kann es mit den anderen Feldern arbeiten lassen, aber nicht mit ModerationStatus. Ich habe auch versucht, es in! = '0' und! = 'Approved' und '0; #Approved' zu ändern. Gibt es etwas, was ich falsch mache?

Scheint, als ob es auf 0 feststeckt; # Approved

Antworten auf die Frage(4)

Ihre Antwort auf die Frage