问题描述
简化说下问题:VC.net2005环境,建立一个基于HTML对话框的程序。程序中添加2个html页面,html页面一中包含一个文本输入框,id=text1;一个按钮id=button1;html页面二中只包含一个文本输入框,id=text2。现在在dlg.h文件中加入2个变量,intm_T1;intm_T2(初始化已做);以及按钮相应函数HRESULTOnButton1(IHTMLElement*pElement);在dlg.cpp文件中加入数据交换DDX:DDX_DHtml_ElementText(pDX,_T("Text1"),DISPID_A_VALUE,m_T1);DDX_DHtml_ElementText(pDX,_T("Text2"),DISPID_A_VALUE,m_T2);接着加入OnButton1函数代码。如下:HRESULTCDlg::OnButton1(IHTMLElement*/*pElement*/){UpdateData(true);Navigate(_T"html2")returnS_OK;}即在html1页面完成数据输入后,进行数据交换,并跳转到html2页面。编译通过,可运行。问题是:当点击button时,页面1中的TextField能够进行正确的数据交换,系统弹出对话框,提示“请输入一个整数”,UpdateData(true);语句返回值=0,执行失败。跟踪程序,原因是第二个页面中的TextField无法正确的和变量intm_T2进行数据交换。请问如何解决?
解决方案
解决方案二:
解决方案三:
难道楼上就是那个BOSS?
解决方案四:
我无意浪费您的时间,只是想问问题!
解决方案五:
其实这个问题就是,在使用HtmlDlalog时候,如果程序包含不止一个html页面,如何对每个页面中的元素进行数据交换,使用DDX技术。难道是为每个页面添加一个class?怎么没有大侠帮忙啊?急
解决方案六:
问题已经解决,用CMultiPageDhtmlDialog类。但是出现了一个新问题,如和处理页面上的超链接,点击超链接虽然可以进入相应页面,但是新页面并不触发任何数据交换!EGIN_DHTML_URL_EVENT_MAP()宏不起作用了?不知道有大侠知道不?
解决方案七:
up
解决方案八:
up