该名称在当前上下文infopath自定义代码中不存在

时间:2017-10-17 21:31:15

标签: xpath sharepoint infopath

我正在使用以下代码在infopath表单上的下拉项之间进行交换,我认为最初的错误可能是由于错误命名的命名空间,但看起来很好。然后我被告知这是由于部分课程,已经添加但是错误仍然存​​在:

namespace Form1
{
    public partial class FormCode
    {

        public void InternalStartup()
        {



            XPathNavigator xnDocument = this.MainDataSource.CreateNavigator();



            XPathNavigator xnDefaultView = xnDocument.SelectSingleNode("/my:myFields/my:duration", this.NamespaceManager);



            if ((xnDefaultView != null) && (xnDefaultView.Value != ""))

            {

                switch (xnDefaultView.Value)

                {

                    case "false":

                        e.SetDefaultView("Partial");

                        break;



                    case "true":

                        e.SetDefaultView("Full");

                        break;

}}}}}

当前上下文中不存在名称“e”,我认为这与我的if语句的放置有关,但我没有取得任何进展。

1 个答案:

答案 0 :(得分:0)

XmlNamespaceManager ns = this.NamespaceManager;
XPathNavigator FormNavigator = this.MainDataSource.CreateNavigator();
string value = FormNavigator.SelectSingleNode("/my:myFields/my:txtField", NamespaceManager).Value;
if (value != null && value != "") 
{
   FormNavigator.SelectSingleNode("/my:myFields/my:ddField", ns).SetValue("full");
}
else
{
   FormNavigator.SelectSingleNode("/my:myFields/my:ddField", ns).SetValue("empty");
}