3 Stimmen

Wie setzt man den Wert von <input type="hidden"> in asp .net page_load ohne runat="server"

Ich muss die folgenden zwei Dinge tun...

  1. Ich möchte den Wert von in asp.net page_load festlegen. Das Problem ist, dass ich nicht runat="server" verwenden möchte. Ich habe dies wie folgt versucht, aber es funktioniert nicht:

HtmlInputHidden hiddenControl = (HtmlInputHidden) FindControl("a");

gibt es eine Möglichkeit, in asp .net page_load ohne runat="server" zugreifen? ? ?

  1. Ich kann dies tun, wenn ich verwenden, aber in diesem Fall kann ich nicht darauf zugreifen in Master-Seite Javascript-Funktion. ich habe versucht, aber es funktioniert nicht ...
    • var hdnField = document.getElementById('<%= hdnIdentity.ClientId%>');
    • var hdnField = document.getElementById("hdnIdentity").getAttribute("value");
    • var hdnField = document.getElementById("hdnIdentity").value

was ich brauche ... Ich möchte Inhalt Seite versteckte Feld Wert in Javascript in Master-Seite zugreifen. gibt es eine Möglichkeit? ? ? thnx im Voraus Grüße Haroon haroon426@yahoo.com

6voto

ScottE Punkte 21245

Ich mache manchmal Folgendes, vor allem, wenn ich die Kontrolle über meine ids haben möchte (vor allem, wenn ich Jquery verwende).

<asp:literal id="literal1" runat="server"><input type="hidden" id="someid" value="{0}"/></asp:literal>

In codebehind können Sie den Wert dann wie folgt festlegen:

literal1.Text = string.Format(literal1.Text, "somevalue");

Damit lässt sich die Verwendung von runat="server" nicht wirklich umgehen, aber Sie haben nicht angegeben, warum Sie das nicht tun wollen. Außerdem müssten Sie den Wert mit einem request.form abrufen

Update

In .net 4.0 haben Sie viel mehr Kontrolle über Ihre IDs. Siehe dies für weitere Informationen:

http://weblogs.asp.net/asptest/archive/2009/01/06/asp-net-4-0-clientid-overview.aspx

2voto

leppie Punkte 111830

IIRC, Sie müssen in der HttpRequest.Forms irgendwo da drin.

1voto

Jon Punkte 2075

Wenn der Wert Teil eines POST-Formulars ist, sollten Sie Request.Forms oder Request.QueryString überprüfen, wenn es sich um ein GET-Formular handelt.

1voto

Petr Felzmann Punkte 1223

Ad 1) in der aspx-Datei einfach schreiben <input type="hidden" value="<%=GetHiddenValue%>" /> . Und in Ihrem Code hinter definieren geschützte Eigenschaft

public class MyPage : Page {
  protected GetHiddenValue { get { /*...*/ } }

1voto

Rune FS Punkte 20934

Sie können es in Ihrem Master-Seite-Javascript verwenden, wie immer das Steuerelement Name ist nicht, was Sie erwarten, dass Sie ClientID verwenden müssen, um das zu bekommen. Wenn Sie nicht runat=server anwenden, können Sie nur das Steuerelement als Text erhalten, indem Sie entweder die .aspx-Datei durchlaufen oder, wie bereits erwähnt, es in ein benanntes Tag einbetten und dann eine String-Manipulation am inneren HTML vornehmen. Das ist für die Einstellung. Wenn Sie den Wert erhalten müssen, verwenden Sie Request[tagName] oder ähnlich

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X