0

ユーザー コントロールに隠しフィールドがあります。実行時に、隠しフィールド ClientId を次のようにアンカー タグに割り当てます。

aClickSort1.HRef = string.Format("javascript:SortImage({0},{1});", divArrowUp1.ClientID, hiddenSort1.ClientID);

問題は、クライアント側のコードで隠しフィールド ClientId を取得しようとすると、未定義になることです。

クライアント側のコードでどのようにアクセスできますか?

Ps。HiddenField はユーザーコントロールにあります

よろしく Örvar

4

4 に答える 4

0

私が間違っている場合は訂正してください。ただし、IDは生成されません。ユーザーコントロールに非表示のフィールドがある場合は、次のIDが取得されます。

myUserControlName$myHiddenFieldId 

于 2012-10-11T07:13:04.443 に答える
0

hiddenSort1 の ClientIdMode を Static に設定する必要があります。

このような:

 <asp:HiddenField ID="hiddenSort1" runat="server" ClientIDMode="Static" />

JavaScript から:

var hiddenSort1 = document.getElementById('hiddenSort1');
于 2012-05-01T07:34:47.540 に答える
0

サーバー側制御に設定Visible="false"すると、クライアントには一切送信されません。

代わりに、style="display: none;"CSS を介して設定するか、さらに良い方法で、ブラウザーに送信され、非表示のままになります。

于 2012-05-01T07:31:43.693 に答える
0

その理由は見えない容器にあるようです。次のようなものがある場合:

<asp:panel id="panel1" runat="server" Visible="false">
    <asp:hiddenfield id="hiddenfield1 runat="server" value="123"/>
</asp:panel>

属性panel1を持つサーバー側のコントロールに対して物事がレンダリングされないため、物事にアクセスすることはできません。visible="false"

divとにかく表示されないため、 withに設定するか、コンテナの外にstyle="display:none;"置いておくことができます。hiddenfieldnon-visible

于 2012-05-01T07:32:08.963 に答える