Set ASP Wörtliche text mit Javascript
Habe ich einen asp:Literal auf meiner Seite (, die nicht konvertiert werden, auf einem Etikett oder einem anderen Steuerelement), die ich brauche, um den text zu ändern, der über JavaScript. Ich habe den folgenden code, der funktioniert für eine Label. Kann jemand helfen?
<script type="text/javascript">
function changeText() {
document.getElementById('<%= Test.ClientID %>').innerHTML = 'New Text';
}
</script>
<a href="#" onclick='changeText()'>Change Text</a>
<asp:Label id="Test" runat="server" Text="Original Text" />
Dank
UPDATE:
Ich kann nicht ändern, aus einer wörtlichen, wie der code dahinter schreibt HTML/CSS für eine Informations-Nachricht e.g:
LITMessage.Text = "<div class='success'>Information Successfully Updated</div>"
- Warum können Sie nicht ändern, um andere zu Steuern? Das klingt wirklich seltsam, gepaart mit der Anforderung, den text zu ändern.
- Ich aktualisiert meine ursprüngliche Frage
- Ihre update, warum können Sie nicht ändern, um ein Etikett ist nicht sinnvoll. Dies ist einer der besonderen Zwecke des label-Steuerelements. Alles, was Sie tun können mit einem literal können Sie ziemlich viel zu tun mit einem label genau das gleiche. , Die being said, ich habe +1 @Slaks als seine Idee scheint die einfachste zu mir.
- Denn technisch, zumindest für W3C-Konformität, Sie sollen nicht wrap ein div in ein span - vor allem, da diese möglicherweise nicht ordnungsgemäß wiedergegeben in der Zukunft, wenn IE/FF etc entscheiden, Sie können das nicht tun
- Sie können nur die Arbeit mit den div. So geben Sie ihm eine eindeutige ID (stellen Sie sicher, dass nicht mehrere Instanzen der gleichen Zeichenfolge).
Du musst angemeldet sein, um einen Kommentar abzugeben.
<asp:Literal>
Steuerelemente erstellen Sie nicht Ihr eigenes HTML-tag.Daher, es gibt kein element, dass Sie Bearbeiten können.
Statt, Sie können wickeln Sie die
<asp:Literal>
im<div>
- tag mit einer ID.<span>
tag, wenn es nur ein wenig text-Inhalt.<asp:Label>
eine Wörtliche verpackt in einem span.Einer ASP.NET Wörtliche fügt keine markup auf der Seite. Daher müssen Sie wickeln Sie Ihre Inhalte in einige container, so dass Sie es Bearbeiten können via JavaScript:
Davon aus, dass Sie die folgenden Literal auf der Seite:
Waren und Einstellung der text über code-behind (denn wenn Sie nicht, können Sie einfach erstellen Sie die span/div im markup, um mit zu beginnen und dieses Problem nicht auf):
Den code hinter wird:
Und die JavaScript wäre:
Tut das literal enthalten html-markup?
wenn nicht, könnten Sie wickeln Sie das literal-Steuerelement in ein div und gib ihm eine id. Dann verwenden Sie js ersetzen Sie den text in das div.
Antwort auf dein update:
In diesem Fall, da Sie das Rendern ein div mit einer Klasse
success
würde ich jQuery zum aktualisieren der html-Code in das div...es wäre so einfach wie:success
angewendet. Aufruf der.html
Funktion erlauben würde, Sie zu ersetzen den html-Code in der ausgewählten divWickeln Sie die
<asp:literal>
Kontrolle in einem<div>
und dann die jQuery-wenn nötig, löschen Sie den Inhalt wie unten gezeigt:Hier ist, wie um den text zu löschen mit jQuery:
Ein Literal ist eine direkte Rendern von text auf der Seite. Die nur HTML gerendert wird, werden die HTML-markup-Code, den Sie in der text-Zeichenfolge, die Sie festlegen, um die Wörtliche. Anstatt eine Wörtliche umgeben von einem div (sofern Sie dies nicht ausdrücklich wollen, dass die Funktionalität) können Sie eine ASP-Label und durchführen von Vorgängen.