我在應用程序的配置頁面上有幾個列表,用戶可以配置項目的順序以及特定應用程序頁面的選擇。我使用在運行時添加的動態控件的ID將它們從A移動到B,但目前這不起作用,因爲我的JavaScript無法檢索所選控件的ID。動態控件「ID」自動添加到「名稱」屬性中,而不是ID屬性
深入挖掘並進一步檢查後,動態控件沒有自動分配ID屬性,而是將ID應用於控件的name屬性,這就是JavaScript失敗的原因。
我使用動態HtmlGenericControls和Textboxes。
檢索ID的JavaScript,它在我將this.id切換到this.name時起作用。不過,我需要使用ID屬性。
document.getElementById('itemID').value = this.id;
'itemID'是隱藏的輸入字段。
我試過應用runat =「server」,clientidmode =「static」/「autoID」,但目前還沒有運氣。
爲什麼我的動態控件將ID分配給name屬性而不是ID屬性?
有什麼缺失,我需要添加它使它適用於ID屬性?
如果您需要更多的信息,下面:-)只是評論
的網頁使用母版頁
附加信息,所以控件內容佔位符中添加的。
我已經嘗試在JavaScript中將ID添加到屬性中,但在執行以下操作時仍然爲null。添加後的動態控制的
this.id = this.name;
TextBox selectedItem = (TextBox)exampleList.FindControl(itemID.Value);
實施例:
<input name="ctl00$uniqueBody$ctl86" type="text" value="EXAMPLE" runat="server">
正如你可以看到的name屬性保持的ID。
謝謝,我已經做到了這一點,並設法解決了這個問題所以我將這個標記爲答案,但是,這正是我想要避免的,因爲如果我不使用set ID,它會使一切變得更簡單。 – Chris