J'essaie de savoir comment obtenir les propriétés et les méthodes client de mes contrôles accessibles via des scripts client. Par exemple, voici un échantillon très simple commande:Objet client pour le contrôle asp.net
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MyCustomControl.ascx.cs" Inherits="MyCustomControl" %>
<script type="text/javascript">
$(function() {
$("#<%=lnksave.ClientID %>").click(function() {
$("#<%=hiddenText.ClientID %>").val($("#<%=txtText.ClientID %>").val());
});
$("#<%=lnkshow.ClientID %>").click(function() {
alert($("#<%=hiddenText.ClientID %>").val());
});
});
</script>
<asp:HiddenField runat="server" ID="hiddenText" />
<input type="text" runat="server" id="txtText" />
<a id="lnksave" runat="server" href="#">Save text</a>
<a id="lnkshow" runat="server" href="#">Show text</a>
Je souhaite un autre contrôle à elle accéder à la première comme celui-ci sur le côté client:
<%@ Register Src="~/MyCustomControl.ascx" TagName="CustomControl" TagPrefix="mycontrols" %>
...
<asp:ScriptManager runat="server" ID="scriptManager1"></asp:ScriptManager>
<div>
<mycontrols:CustomControl runat="server" ID="control1" />
</div>
...
<script type="text/javascript">
$find("<%=control1.ClientID %>").set_text("sample text");
</script>
, où set_text est quelque chose comme
function(text) {
$("#<%=hiddenText.ClientID %>").val(text);
}
Quel genre de changements dois-je faire à mon contrôle pour le faire fonctionner de cette façon? Un exemple de code sera très utile. Merci d'avance!