ArizonMedlem sedan juli 200799 inlägg Hejsan! jag har en form submit som jag inte hanterar serverside eftersom jag inte vet hur jag ska göra riktigt... är det nån som kan posta ett mycket enkelt exempel på hur man hanterar det?
min form ser ut såhär:
<form id="LogonForm" method="POST" action="SignPage.aspx">
<input name="signature" value="" type="HIDDEN" />
</form>
vidare undrar jag om någon vet hur applet-callback till javascript via liveConnect funkar? jag har suttit med samma applet i 2 v utan att få den att fungera.
min js-funktion ser ut såhär:
function onLogonOK(logonMessage)
{
document.LogonForm.signature.value = logonMessage;
document.LogonForm.submit()
}
den körs från samma sida som appleten.
ArizonMedlem sedan juli 200799 inlägg appletkoden för att anropa onLogonOk ser ut såhär:
public void a(String string, String[] strings) {
try {
JSObject.getWindow(a).call(string, strings);
} catch (Throwable throwable) {
System.out.println("\nFunction call: " + string + "\n"
+ "Communication Error to JavaScript: "
+ throwable);
}
}
public Object a(String string) {
Object object = null;
String string_0_ = null;
Object object_1_ = null;
try {
JSObject jsobject = JSObject.getWindow(a);
try {
StringTokenizer stringtokenizer
= new StringTokenizer(string, ".");
for (int i = 0; i < stringtokenizer.countTokens() - 1; i++) {
string_0_ = stringtokenizer.nextToken();
jsobject = (JSObject) jsobject.getMember(string_0_);
}
if (stringtokenizer.hasMoreTokens()) {
string_0_ = stringtokenizer.nextToken();
object_1_ = jsobject.getMember(string_0_);
}
} catch (Throwable throwable) {
System.out.println("\nJavaScript property not found: "
+ string_0_ + " of " + string + "\n"
+ throwable);
}
} catch (Throwable throwable) {
/* empty */
}
return object_1_;
emissionMedlem sedan dec. 19996 721 inlägg Eftersom du använder icke serverbundna kontroller (inte runat=server) så får du förlita dig på att kolla Request-värden, t.ex. i Page_Load
if (!string.IsNullOrEmpty(Request.Form["signature"]))
{
//Gör saker
}
ArizonMedlem sedan juli 200799 inlägg ok, skulle jag kunna göra formen till serverkomponent och vinna något på det?
ArizonMedlem sedan juli 200799 inlägg Faktum är att jag redan har en annan form med diverse linkbuttons osv som är runat=server, och man tillåts bara ha en form som är serverbunden per sida verkar det som (?). Jag ska prova med det ovan givna förslaget, men mottager gärna tips på hur jag kan få min form att var serverbunden.
emissionMedlem sedan dec. 19996 721 inlägg Man kan bara ha ett serverbundet formulär, vilket inte så konstigt, med tanke på hanteringen av viewstate etc. Paul Wilson har byggt runt problemet, men det kan blir lite knöligt att använda det också.
http://sourceforge.net/projects/wilsonwebform/
Du kan ju submitta det bundna formuläret också. Skapa en dold knapp och exekvera dess PostBackReference-script.
ArizonMedlem sedan juli 200799 inlägg right.. jag har kollat lite. det verkar onödigt avancerat.. Går det att sumitta en form som inte är runat="server"? eller måste den var serverbunden för att man ska kunna göra det? om det inte går får jag väl försöka styra upp en button-postback
fråga 2: körs page_load när man gör forms.submit() på en icke-serverbunden kontroll? detta borde isf generera IsPostBack == true ?
emissionMedlem sedan dec. 19996 721 inlägg Ja, Page_Load körs. Det ligger i sidans livscykel och styrs inte av några externa faktorer.
Nej, IsPostBack är false. Det räknas inte som en postback om inte sidan kan garantera att POST:en faktiskt kom från samma sida, och det kan den inte om man använder ett obundet formulär.
ArizonMedlem sedan juli 200799 inlägg alright.. så det jag kan göra är att kolla if(!request.form["MinInput"] == null) ? och sen i den göra det jag ska med min input? Jag kan ju inte kolla IsPostBack lixom...
ArizonMedlem sedan juli 200799 inlägg
emission skrev:
Ja, Page_Load körs. Det ligger i sidans livscykel och styrs inte av några externa faktorer.
Nej, IsPostBack är false. Det räknas inte som en postback om inte sidan kan garantera att POST:en faktiskt kom från samma sida, och det kan den inte om man använder ett obundet formulär.
Page load körs när man först kommer till sidan, men i nuläget så körs den INTE av min forms.submit(), fast det kanske beror på att jag får fel någonannanstans innan själva postbacken, detta håller jag på att logga för tillfället och återkommer senare med rapport.
Page_Load SKA alltså köras av en form.submit som inte är serverbunden?
ArizonMedlem sedan juli 200799 inlägg OK. såhär är det. Sidan laddas när man redirectas dit, page load körs vid detta tillfälle. när sidan laddas, laddas också en applet. appleten skickar en string till en javascriptfunktion som tar emot och processerar denna text (detta fungerar) efter det så ska en del av den texten läggas i en form och formen ska submittas från den tidigare nämnda javascriptfunktionen. (formen är inte runat=server) och när den submittas så ska det hända grejjer i page_load.
Loggfil:
2007-08-16 15:18:35,012 [17] INFO loginLogger - Redirectar till login...
2007-08-16 15:18:36,137 [17] DEBUG loginLogger - inne i page load
2007-08-16 15:18:36,137 [17] DEBUG loginLogger - Laddar loginsida för BID
Loggfilen tar slut efter detta. om submit() hade kört page load så hade vi haft en rad till med "inne i page load" eftersom det är det absolut första som händer i page load.
min page_load:
protected void Page_Load(object sender, EventArgs e)
{
loginLogger.Debug("inne i page load");
if ((Request.Form["signature"])!=null)
{
Session["signature"] = Request.Form["signature"];
loginLogger.Debug("Från signature:" + Session["signature"]);
//loginLogger.Debug("Från sig: " + Request.Form["sig"]);
loginLogger.Debug("Om det skapats en signatur så ska vi redirecta till signpage.aspx");
loginLogger.Info("Redirectar till SignPage.aspx");
Response.Redirect("SignPage.aspx");
}
if (!IsPostBack)
{
loginLogger.Debug("Laddar loginsida för BID");
contCbtLogin.Visible = true;
pCbtLogin.Visible = true;
}
}
Page load körs alltså inte av att man submittar formen. måste den submittas på nåt annat sätt när den inte är serverbunden?
formen ser ut såhär:
<form id="LogonForm" method="POST" action="cbt_login.aspx">
<input name="signature" value="" type="HIDDEN" />
</form>
är det enda alternativet en gömd button och att använda dess postback-funktion nu eller?
freguzMedlem sedan feb. 2005280 inlägg Långskott: Har du AutoEventWireup="true"?
ArizonMedlem sedan juli 200799 inlägg
freguz skrev:
Långskott: Har du AutoEventWireup="true"?
Jo, nog har jag det alltid!
ArizonMedlem sedan juli 200799 inlägg Jag har delvis löst det. formen submittas nu iaf =)