簡體   English   中英

與控件ID相關聯的Access Server控件?

[英]Access Server Control Associated with Control ID?

我已經編寫了一個.NET Web用戶控件。 它包括一些服務器控件和一些支持的JavaScript。

我還有一個全局ValidateMyControl() JavaScript函數,該函數返回一個值,該值指示當前控件是否包含有效數據。 可以從包含控件的頁面上的JavaScript調用此函數。

我的問題是頁面上有多個控件實例。 我可以讓頁面的客戶端腳本像這樣傳遞控件ID:

ValidateMyControl('<%= MyControl.ClientID %>');

這樣可以確定代碼嘗試驗證的實例。

但是我的ValidateMyControl()控件將如何使用該ID來引用與請求的實例關聯的服務器控件。

我沒有想到的一切似乎對我來說都是一致的。 有小費嗎? 還是以其他方式處理多個實例?

編輯:

因此,我想到的一種方法如下所示:

var instanceData = {};

$(function() {
    instanceData['<%= this.ClientID %>'] = {
        HiddenID: '<%= hdnCompanyId.ClientID %>',
        TextID: '<%= txtCompanyName.ClientID %>',
        ErrorMessageID: '<%= divErrorMessage.ClientID %>'
    };
});

這個想法是在初始化過程中向數組添加一個對象,該對象將控件實例映射到其服務器控件的ID。

但這似乎效率很低。 希望找到更好的方法。

class屬性設置為用戶控件內的服務器控件-即使未定義此類CSS類。 然后:

function ValidateMyControl(aControlId) {
  var companyId = $("#" + aControlId).find(".classCompanyId").val();
  ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM