JavaScript, C# und LinqToSQL

Zordanus

Grünschnabel
Hallo zusammen.

Ich habe mal eine Frage.

Ich habe ein Benutzersteuerelement was dynamisch eingefügt wird (mehrmals vorhanden). In diesem Benutzersteuerelement werden einige Controls eingefügt (u.a. ein Linkbutton).
Sobald ich auf diesen Linkbutton klicke soll ein Control aus diesem speziellen Benutzersteuerelement per JavaScript (JQuery) ge-togglet werden (aufklappen).

Nach den Aufklappen möchte ich das ein Datenbankupdate erfolgt.

C# Code für das JavaScript :

protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);

string scriptKey = "MessageScript:" + this.UniqueID;

if (!Page.IsStartupScriptRegistered(scriptKey))
{
string scriptblock = this.CreateJavaScript();
Page.RegisterStartupScript(scriptKey, scriptblock);
}
}


private string CreateJavaScript()
{
string script = "";

string ScriptStartBlock = @"<script type=""text/javascript"">";
string ScriptEndBlock = "</script>";

string ScriptBlock = @"$(document).ready(function() {
$('.%%HideItem%%').hide();
$('.%%ToogleItem%%').click(function() {
$('.%%HideItem%%').toggle('slow');
//aufruf der C# Funktion: DatabaseUpdate()
return false;
});
});
";

ScriptBlock = ScriptBlock.Replace("%%HideItem%%", this.das-zuerscheinende-fenster.CssCalss.ToString());
ScriptBlock = ScriptBlock.Replace("%%ToogleItem%%", this.das-fenster-was-geklickt-wurde.CssClass.ToString());

script = ScriptStartBlock + ScriptBlock + ScriptEndBlock;

return script;
}



Datenbankupdate:

public void DatabaseUpdate()
{
label.Text = "Neuer Text";
var data =
LinqToSQL Befehl für DB-Update
}


Das Problem daran ist das er wenn ich den Datenbankupdate im Script druchführe er automatisch ein Postback macht und dadurch das Fenster wieder geschlossen wird (wird im JavaScript auf HIDE gesetzt).

Ich habe inzwischen viele Variationen ausprobiert und bin langsam mit mein Latein am Ende.

Also was möchste ich: Ich möchte ein JavaScript ausführen (JQuery) und anschließend eine Funktion in C# bzw. ein Datenbankupdate durchführen. Hat da wer eine Idee?
 
Zurück