0

我在尝试从表单中删除附件时遇到了一些 InfoPath C# 代码的问题。

基本上流程是:

  1. 用户打开表单
  2. 用户点击按钮
  3. 文件附件被清除

我尝试向我的架构添加一个从未填充的空白附件,然后通过以下方法将原始字段的值设置为等于该值。在调试表单时,我发现一个错误:模式验证发现非数据类型错误。这里的任何提示将不胜感激。

public void BTN_ClearAttachment_Clicked(object sender, ClickedEventArgs e)
{
   try
   {
       _OriginalAttachment.SetValue(_BLANK_ATTACHMENT.Value);
   }
   catch (Exception ex)
   {
       _ErrorField.SetValue(ex.Message + " : " + ex.StackTrace);
   }
}

谢谢,

Z博士

编辑 - PS 我应该澄清 _OriginalAttachment 和 _ErrorField 都是 XPathNavigators,指向不同的模式元素。我已经验证这些 XPathNavigator 都指向有效的模式元素。

4

1 回答 1

0

弄清楚了。我这样做的方法是调用 ReplaceSelf(string) 并传入 XML 节点的空白版本。

public void BTN_ClearAttachment_Clicked(object sender, ClickedEventArgs e)
{
   try
   {
       _OriginalAttachment.ReplaceSelf("<my:OriginalAttachment></my:OriginalAttachment>");
   }
   catch (Exception ex)
   {
       _ErrorField.SetValue(ex.Message + " : " + ex.StackTrace);
   }
}

这减轻了我遇到的任何错误。

于 2010-03-25T20:28:37.157 回答