我编写了一个自定义工作流操作,它接受多个值,主要使用SingleLineInput控件。
当我分配文字值时,我没有问题,但是当我尝试分配工作流变量时,我没有得到变量的实际值,我得到文字文本 - 类似{WorkflowVariable:XmlValue} - 假设我的变量是名称XmlValue。
我不确定我可能做错了什么。有什么想法吗?
以下是代码段:
用于从SingleLineInput
中检索值的javascriptfunction TPAWriteConfig() {
configXml.selectSingleNode("/NWActionConfig/Parameters/Parameter[@Name='FieldValue']/PrimitiveValue/@Value").text = getRTEValue('<%=fieldValue.ClientID%>');
SaveErrorHandlingSection();
return true;
}
服务器控件:
<Nintex:ConfigurationProperty ID="ConfigurationProperty3" runat="server" FieldTitle="Field Value" RequiredField="True">
<TemplateControlArea>
<Nintex:SingleLineInput runat="server" id="fieldValue"></Nintex:SingleLineInput>
</TemplateControlArea>
</Nintex:ConfigurationProperty>
从我的适配器类:
private const string FieldValueProperty = "FieldValue";
NWActionConfig config = new NWActionConfig(this);
config.Parameters[2] = new ActivityParameter();
config.Parameters[2].Name = FieldValueProperty;
config.Parameters[2].PrimitiveValue = new PrimitiveValue();
config.Parameters[2].PrimitiveValue.Value = string.Empty;
config.Parameters[2].PrimitiveValue.ValueType = SPFieldType.Text.ToString();
来自活动类:
public static DependencyProperty FieldValueProperty = DependencyProperty.Register("FieldValue", typeof (string),
typeof (
WriteOnePdfFieldActivity));
public string FieldValue
{
get { return (string) GetValue(FieldValueProperty); }
set { SetValue(FieldValueProperty, value); }
}
答案 0 :(得分:1)
我觉得有点傻傻地回答我自己的问题,但是为了其他人有同样的问题。以下是它的工作原理:
以下代码演示:
var fieldValue = FieldValue.StartsWith("{") ? ctx.AddContextDataToString(FieldValue, true) : FieldValue;
这从工作流上下文中提取值。希望这会有所帮助。