我正在使用以下代码在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语句的放置有关,但我没有取得任何进展。
答案 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");
}