2012-10-31 30 views
3

我是一位經驗豐富的PB開發人員,但主要是使用典型的客戶端 - 服務器體系結構,並且確實遇到了部署到IIS7的Web Forms應用程序的問題。 5使用PB12.5經典PowerBuilder 12.5 Web窗體 - 列不可編輯或丟失時的Tab選項訂單

我創建一個可更新的數據對象(網絡服務),在設計模式下完美的作品,然而,當從部署IIS服務器上運行,所有的我都設置爲正Tab順序(編輯)列,看起來好像他們有一個標籤訂單爲零。我無法選擇一行,無法將焦點集中到列,唯一能夠工作的是一些添加到數據對象(通用插入和刪除)的按鈕。我曾嘗試檢查所有的JavaScript生成複選框(生成JS,客戶端事件,客戶端)下的Web生成選項卡下的數據對象設計中的每一個可能的選項,包括HTML/XHTML,HTML,XHTML,XML等。驗證,計算字段,客戶端格式,客戶端腳本,生成DDDW框架,但沒有幫助

我已經嘗試了所有三種分頁方法,XMLClientSide,PostBack,Callback請注意,我的分頁工作正常。一個可編輯的列(帶有正選項卡順序)獲得焦點!這通常是一個新手錯誤,但Web Forms部署中的某些內容有所不同,我需要幫助。我的數據對象類型是表格。 Web服務更新,並且我通過數據對象預覽嘗試了所有的Web服務功能。我在同一臺計算機上運行IIS 7.5。已經安裝了所有的運行時DLL。在項目對象的Win32動態庫文件中包含了Sybase.PB.WebService.Runtime.dll,RuntimeRemoteLoader.dll,WSDL.dll,WSDLRemoteLoader.dll。在Win32動態庫文件中包含了dataservice非可視化dll。我有與基本的SQL數據源數據對象相同的問題。

我已經包括了從我的窗口中編輯源覆蓋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:我根據成員提出的意見和問題添加了一些有用的信息。

  1. 我試過了哪些瀏覽器?我已嘗試過IE(32 & 64位)版本9.0.8112.16424,Chrome版本23.0.1271.64 m,並且都不允許編輯製表順序大於零的列。

  2. IE應該被支持,所以我決定用這個瀏覽器來努力。我在Windows 2008 R2服務器上測試,顯然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. 
+1

不知道。一個錯誤的行爲做同樣的事情在一個以上的網絡瀏覽器發生? – Slapout

+0

好問題。我已經嘗試在Chrome和IE瀏覽器上運行,並且都不允許更改具有正Tab鍵順序的列。 –

+2

您是否在IE Dev或Chrome工具中使用過?可能在CSS中有某些內容(class objdw-116等)或腳本處理程序的執行情況 –

回答

2

因爲它由Sybase在Web forms FAQ表示,他們並沒有太多集中在跨瀏覽器的兼容性:

我們正在評估Firefox和Safari瀏覽器多瀏覽器支持。菜單通過第三方菜單webcontrol實現,將菜單項呈現爲超鏈接。

它是可能的許多其他功能將不得不與其他瀏覽器比IE :(

+0

謝謝:我希望得到更清晰的答案,但我相信這個答案基本上是正確的,也是我的Web窗體應用程序無法正常工作的原因。我已經添加了有關如何讓IE工作的信息的原始問題的更新。欣賞別人特別是Slapout的幫助(通過評論),並且希望獎勵他的一些賞金。如果你覺得他的評論很有用,並且符合這個答案,請對它們進行投票,這樣他就可以花時間和精力幫助解決問題。 –