Wie verwenden Sie " input type="Submit" OnServerClick= " von codebehind
Troubleshooting IIS Session-State-problem habe ich eine einfache Seite zu verwenden, wie ein test. Diese Seite funktioniert.
<body>
<form id="form1" runat="server">
<div>
<input type="text"
id="text1"
runat="server"
/>
<input type="Submit"
id="Submit1"
OnServerClick="Session_Add"
value="Add to Session State"
runat="server"
/>
<input type="Submit"
id="Submit2"
OnServerClick="CheckSession"
value="View Session State"
runat="server"
/>
<hr size="1"/>
<font size="6"/><span id="span1" runat="server"/>
</div>
</form>
<script language="C#" runat="server">
void Session_Add(Object sender, EventArgs e)
{
Session["MySession"] = text1.Value;
span1.InnerHtml = "Session data updated! <P> Your session contains: <font color=red>" +
Session["MySession"].ToString() + "</font>";
}
void CheckSession(Object sender, EventArgs e)
{
if (String.IsNullOrEmpty(Session["MySession"].ToString()))
{
span1.InnerHtml = "NOTHING, SESSION DATA LOST!";
}
else
span1.InnerHtml = "Your session contains: <font color=red>" +
Session["MySession"].ToString() + "</font>";
}
</script>
Ohne besonderen Grund, außer ich wollte es so zu tun, ich habe versucht, bewegen Sie den Teil in den script-block zu einer codebehind-Datei. Code folgt:
protected void Page_Load(object sender, EventArgs e)
{
Submit1.ServerClick += new System.EventHandler(this.Session_Add);
Submit2.ServerClick += new System.EventHandler(this.CheckSession);
}
void Session_Add(Object sender, EventArgs e)
{
Session["MySession"] = text1.Value;
span1.InnerHtml = "Session data updated! <P> Your session contains: <font color=red>" +
Session["MySession"].ToString() + "</font>";
}
void CheckSession(Object sender, EventArgs e)
{
if ( String.IsNullOrEmpty(Session["MySession"].ToString()))
{
span1.InnerHtml = "NOTHING, SESSION DATA LOST!";
}
else
span1.InnerHtml = "Your session contains: <font color=red>" +
Session["MySession"].ToString() + "</font>";
}
}
Compiler-Fehlermeldung: CS1061: 'ASP.webform1_aspx' enthält keine definition für 'Session_Add' und keine Erweiterungsmethode 'Session_Add' die Annahme ein erstes argument vom Typ 'ASP.webform1_aspx' gefunden werden konnte (fehlt eine using-Direktive oder ein Assemblyverweis?)
Was müsste ich tun, um diese Arbeit zu machen?
Glaube nicht, dass Sie das tun können. Versuchen Sie es zu einem asp:button-server-Steuerung (also Drähte die event-Handler richtig).
InformationsquelleAutor Kal | 2010-07-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="YourPageName.aspx.cs" Inherits="ClassNameOfCodeBehindeWithFullNamespace" %>
oben, es muss dort oben auf Ihrer aspx-Seite
UPDATE
Sie müssen hinzufügen
protected
- Modifikator für Methoden.Aktualisiert meine Antwort
Das war es. Danke.
InformationsquelleAutor IsmailS