Hej! Efter en postback kanske du kan använda dig av så enkelt som Det går säkert, men det är bara när jag försöker öppna dialogen som den inte vill. Jag har fått andra script att fungera efter postback. Jag tror mitt fel ligger i javascriptet för att öppna dialogen, men jag har stirrat mig helt blind.. Är det jag vill göra ens möjligt med jQuery? Lyckades få den att ladda efter postback med Sys.Application.add_load(openDialog);jQuery-anrop efter postback
Jag jobbar med ett projekt i .net (C#) och behöver en modal dialog som kan visas efter en postback. Jag får dialogen att fungera utan några problem utan postback. Känns som om jag har provat allt...
Här kommer min kod:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.ClientScript.IsClientScriptIncludeRegistered("jQuery"))
{
Page.ClientScript.RegisterClientScriptInclude("jQuery", ResolveUrl(@"~\javascript\jquery-1.4.1.min.js"));
}
//Fler includes....
String clientScriptName = "Startup" + ID;
Type clientScriptType = this.GetType();
if(!Page.ClientScript.IsStartupScriptRegistered(clientScriptType, clientScriptName))
{
string script =
"$(document).ready(" +
"function (){" +
"$('#" + testDialog.ClientID + "').dialog({bgiframe: true, autoOpen: false, height: 100, modal: true, closeText: ''});" +
"}" +
");" +
"function openDialog() {" +
"$('#" + testDialog.ClientID + "').dialog('open');" +
"}";
Page.ClientScript.RegisterStartupScript(clientScriptType, clientScriptName, script, true);
}
}
protected void btnOpen_click(object sender, EventArgs e)
{
string clientScriptName = "Startup2" + ID;
Type clientScriptType = this.GetType();
string script = "openDialog();";
Page.ClientScript.RegisterStartupScript(clientScriptType, clientScriptName, script, true);
}
Om jag trycker in en alert() i openDialog() så kommer jag få meddelandet när jag trycker på knappen, men dialogen syns inte.
Förövrigt buggar sig IE när dialogen körs där. Scrollarna flippar ur helt. Finns det något smidigt sätt att fixa det på?
//Patrik
Sv: jQuery-anrop efter postback
response.write ("<script ....");
response.flush();
Eller ?Sv:jQuery-anrop efter postback
Koden nedan gör olika alerts beroende på vilken knapp man har tryckt på t.ex.
protected void btnOpen_click(object sender, EventArgs e)
{
string clientScriptName = "Startup" + ID;
Type clientScriptType = this.GetType();
Button b = (Button)sender;
string script = "";
if(b.ID.Equals("btnOpen")){
script = "alert('open');";
}
else{
script = "alert('close');";
}
Page.ClientScript.RegisterStartupScript(clientScriptType, clientScriptName, script, true);
}
Sv: jQuery-anrop efter postback
Måste dock finnas något snyggare sätt...
Har inte löst buggen i IE än.