2

.ascx (ユーザー コントロール マークアップ) ファイル内で CLIentID を取得しようとしています。

この間

My id is: <%=this.ClientID%>

My id is: fracTemplateCtrl としてレンダリング

これ:

        <asp:Button ID="btnSave" runat="server" Text="Save Template" onclick="btnSave_Click" OnClientClick="return confirmSave('<%=this.ClientID%>');" />

次のようにレンダリングされます (ソース コード内):

        <input type="submit" name="fracTemplateCtrl$btnSave" value="Save Template" onclick="return confirmSave('&lt;%=this.ClientID%>');" id="fracTemplateCtrl_btnSave" />

明らかに、ClientId プロパティは 2 番目のケースでは評価されません。この問題を解決するにはどうすればよいですか? (答えではないハードコーディングは別として、ユーザーコントロールを独立させたい)

4

2 に答える 2

3

OnClientClick プロパティの値をサーバー側で次のように設定できます。

btnSave.OnClientClick = "return confirmSave('" + this.ClientID + "')";
于 2009-03-23T22:57:26.273 に答える
2

代わりにこれを試してください

<asp:Button ID="btnSave" runat="server" Text="Save Template" onclick="btnSave_Click" OnClientClick="return confirmSave(this.id);" /> 
于 2009-03-23T22:52:00.420 に答える