我是一名经验丰富的PB开发人员,但主要是使用典型的客户端 - 服务器架构,而且使用<部署到 IIS7.5 的 Web Forms 应用程序确实存在问题strong> PB12.5 Classic 。
我正在创建一个可在设计模式下完美运行的可更新数据对象(Web服务),但是当从已部署的IIS服务器运行时,我设置为正向标签顺序(可编辑)的所有列,看起来好像它们的标签顺序为零。我无法选择一行,无法将焦点集中到一列,唯一可行的是将一些按钮添加到dataobject(通用插入和删除)。
我已经在Web生成选项卡下的数据对象设计中尝试了所有可能的选项,包括HTML / XHTML,HTML,XHTML,XML等。我已经尝试检查所有Javascript生成复选框(生成JS,客户端事件,客户端验证) ,计算字段,客户端格式,客户端脚本,生成DDDW帧,但没有帮助。
我已经尝试了所有三种分页方法,XMLClientSide,PostBack,Callback。请注意,我的分页工作正常。我只是无法创建一个可编辑的列(具有正的Tab键顺序)获得焦点!这通常是一个新手错误,但在Web窗体部署中有所不同,我需要帮助。
我的数据对象类型是表格式的。 Web服务更新,我已经通过数据对象预览尝试了所有Web服务功能。我在同一台计算机上运行IIS 7.5。安装了所有运行时DLL。已在项目对象的Win32动态库文件中包含Sybase.PB.WebService.Runtime.dll,RuntimeRemoteLoader.dll,WSDL.dll,WSDLRemoteLoader.dll。已将数据服务非可视化dll包含在Win32动态库文件中。我对基本的SQL数据源数据对象有同样的问题。
我已经在我的窗口的edit-source中包含了片段,其中包含HTML的主要数据对象部分以及部署的Web表单应用程序的数据对象的一个行的HTML,希望可能是一些识别信息:
首先是来源的数据对象部分:
<div style="position: relative; height: 4.893in; width: 4.666in; background-color: rgb(255, 255, 255); " id="objdw_1_datawindow" bisinit="true" dwname="objdw_1" irowno="-1" icolno="-1" ibandid="-1" igroup="-1" iautoselect="0" gobname="datawindow">
下一行的来源:
<span id="objdw_1_detail_18" class="objdw-111" style="position: absolute; left: 0in; top: 4.435in; width: 100%; height: 0.229in; " onclick="{if (eval ('typeof objdw_1') == 'object') objdw_1.itemClicked(18,-1,'datawindow',0,-1);}" onmousedown="{var ret; ret= objdw_1.itemRButtonDown(18,-1,'datawindow',0); return ret;}">
<input type="text" name="catname_18" id="objdw_1_18_3" size="18" value="Business" class="objdw-116" tabindex="137" style="position: absolute; left: 0.073in; top: 0.021in; width: 2.103in; height: 0.188in; " onfocus="{objdw_1.itemGainFocus(18,3,this,objdw_1.gobs.catname); objdw_1.selectControlContent(this);}" onclick="{var ret; ret= objdw_1.itemClicked(18,3,'catname',0,-1); return ret;}" onchange="{this.bChanged = true;}" onkeypress="return DW_EditKeyPressed(event, this, -1);" onblur="{objdw_1.itemLoseFocus (this);}" onmousedown="{var ret; ret= objdw_1.itemRButtonDown(18,3,'catname',0); return ret;}"/>
<input type="text" name="createdate_18" id="objdw_1_18_4" size="5" value="05/02/11" class="objdw-117" tabindex="-32766" style="position: absolute; left: 3.395in; top: 0.021in; width: 0.656in; height: 0.188in; " readonly="" onfocus="{objdw_1.itemGainFocus(18,4,this,objdw_1.gobs.createdate); objdw_1.selectControlContent(this);}" onclick="{var ret; ret= objdw_1.itemClicked(18,4,'createdate',0,-1); return ret;}" onchange="{this.bChanged = true;}" onblur="{objdw_1.itemLoseFocus (this);}" onmousedown="{var ret; ret= objdw_1.itemRButtonDown(18,4,'createdate',0); return ret;}"/>
<input type="button" name="b_1_18" value="x" class="objdw-118" style="position: absolute; left: 4.188in; top: 0.01in; width: 0.207in; height: 0.208in; " onclick="{objdw_1.buttonPress('DeleteRow',18,'b_1',0,-1); objdw_1.restoreFocus();}"/>
<input type="button" name="b_3_18" value="+" class="objdw-119" style="position: absolute; left: 4.459in; top: 0.01in; width: 0.207in; height: 0.208in; " onclick="{objdw_1.buttonPress('InsertRow',18,'b_3',0,-1); objdw_1.restoreFocus();}"/>
有没有其他人经历过这个,如果有的话,解决方案是什么?有人质疑我是否尝试过不同的浏览器,我尝试过使用Chrome和IE浏览器。
非常感谢。
在11-11-12添加:我根据会员提出的意见和问题在事后添加了一些有用的信息。
我试过哪些浏览器?我尝试过IE(32&amp; 64 bit)版本9.0.8112.16424,Chrome版本23.0.1271.64 m,两者都不允许编辑tab顺序大于零的列。
IE应该得到支持,所以我决定用这个浏览器更加努力。我在Windows 2008 R2 Server上进行测试,显然Microsoft出于安全原因自动打开服务器上的Internet Explorer增强安全性。增强的安全性使得浏览器使用起来非常烦人,必须禁用javascript,最终导致Web窗体数据窗口无法正常运行。我按照these instructions关闭了IE增强安全性,并且中提了Web窗体应用程序!
已于2013年7月2日添加:有评论询问我是否查看了生成的Javascript / CSS / HTML并确定了非IE浏览器中的失败,我不得不承认我没有
。花了很多时间研究为什么非IE浏览器无法正常工作,如果有人想到这一点,请添加评论。**Summary**: I hoped for a solution, however it looks like the real answer to this question is going to be that IE is the only supported browser. When Sybase says that non-IE browsers are not supported they really mean that non-IE browsers will probably not work.
答案 0 :(得分:2)
正如Sybase在Web forms FAQ中所说的那样,他们没有太多关注跨浏览器的兼容性:
我们正在评估Firefox和Safari以获得多浏览器支持。菜单是使用第三方菜单webcontrol实现的,该菜单将菜单项呈现为超链接。
很可能许多其他功能与其他浏览器的行为不同于IE :(