Ich möchte eine Zeichenfolge von C# zu JavaScript in ASP-Webformularen übertragen. Mein Ansatz besteht darin, die Daten als Text für ein ASP-Etikett in C# festzulegen und dann den Text des Etiketts per ID in JS abzurufen.Erhalten Sie den Text oder den Wert des ASP.NET-Labels in JavaScript
C# -Code (ascx.cs-Datei):
List<Event> eventList;
protected void Page_Load(object sender, EventArgs e)
{
string message = string.Empty;
SPSite franasabank = new SPSite("http://lbshrptweb/sites/fransabank/");
SPWeb calendar = franasabank.OpenWeb();
SPList list = calendar.Lists["Fransabank Calendar"];
eventList = new List<Event>();
foreach (SPListItem oItem in list.Items)
{
// Access each item in the list...
DateTime startTime = (DateTime)oItem["Start Time"];
DateTime endTime = (DateTime)oItem["End Time"];
string status = (String)oItem["Status"];
string title = oItem.Title;
string description = (String)oItem["Description"];
Event calendar_event = new Event(startTime, endTime, status, title, description);
eventList.Add(calendar_event);
}
foreach (Event item in eventList)
{
message += item.Title + " " + item.Description + item.StartDate + "-" + item.EndDate + "-" + item.Status + "\n";
}
Label1.Text = message;
}
HTML-Schnipsel zeigt das Label (ascx-Datei):
<div data-ng-app="Calendar">
<div data-ng-controller="CalendarController" id="mycontroller">
<div class="row " data-ng-init="Initialize()">
<asp:Label ID="Label1" runat="server" Text="Label" ></asp:Label>
JavaScript-Code:
<script>
var a = document.getElementById('<%= Label1.ClientID %>');
console.log(a);
</script>
Ich bin Empfangen der Daten als Null in der Variablen 'a'. Ich habe versucht,
var a = document.getElementById('<%= Label1.ClientID %>').innerHTML;
aber es ist auch null
ist Ihr Skript in Ihrer ascx Datei oder extern? –
es ist in der Ascx-Datei –
Das klingt wie ein seltsames Verhalten. Welcher Browser wird benutzt? Browser ohne HTML5-Unterstützung unterstützen keine Script-Tags ohne type = "javascript". Eine weitere Idee ist, verwenden Sie mehrere dieser Benutzersteuerelemente? Haben Sie nach der usercontrol-Implementierung versucht, den Skriptteil zu setzen? – Franki1986