2012-02-18 231 views
3

我有這條線在我的web.config:ASP.net客戶端ID模式

<pages validateRequest="false" smartNavigation="false" clientIDMode="Static"> 

這是工作的罰款,分配給控制標識的我走了出來,因爲他們在代碼。然而,對於現場服務器上的一些原因,他們都開始使用如服務器生成的名字渲染:

<input name="ctl00$MainContent$Password2" type="password" maxlength="32" id="Password2" class="nice-textbox" /> 

任何人都知道這可能是導致它們來渲染這種方式?這導致很多頁面被打破。

我試圖通過IIS找到設置,以確保它正確加載它,但無法找到它。

+2

'clientIDMode'是在.NET 4新所以是沒有運行4.0的現場服務器的應用程序池? – 2012-02-18 22:14:59

+0

@Tim是的,儘管現在會檢查一切。直到大約2天前,它一切正常。 2天前,我確實安裝了一些服務器監控軟件,我現在正在移除服務器,並重新啓動服務器以查看是否有幫助。 – 2012-02-18 22:26:21

回答

2

clientIDMode是.NET 4中的新增功能。您的活動服務器的應用程序池是否不運行4.0?

http://technet.microsoft.com/en-us/library/cc754523%28v=ws.10%29.aspx

  1. 打開IIS管理器。有關打開IIS管理器的信息,請參閱打開IIS管理器(IIS 7)。

  2. 在「連接」窗格上,展開服務器節點並單擊「應用程序池」。

  3. 在「應用程序池」頁面上,選擇要爲其指定.NET Framework版本的應用程序池,然後單擊「操作」窗格中的「基本設置」。

  4. 在「編輯應用程序池」對話框的.NET Framework版本列表中,選擇希望應用程序池使用的版本,或者如果應用程序僅使用本機代碼,請選擇「無託管代碼」。

  5. 單擊確定。

enter image description here

+0

嗨蒂姆,感謝這些指示,他們很棒。我已經解決了這個問題。 2天前我們安裝了NewRelic這是一個監控服務。我卸載它並重新啓動服務器,現在它使用靜態ID來呈現表單控件。我已經發送了一封電子郵件給NewRelic讓他們知道,並且我不是100%確定NewRelic是原因,但現在全部正在工作。 – 2012-02-18 22:36:21