CE L'HO FATTA... è stata veramente dura....
cerco di spiegare così se qualcuno si troverà mai nella mia situazione non sbatterà troppo la testa in giro!!
Dunque... il sito è strutturato così
- una pagina di default con una grid view
- una pagina2 che contiene la form per le modifiche che viene mostrata dal
ModalBox tramite
- una pagina3 con un iframe vuota che va a guardare pagina2 (il modalbox di
suo non può contenere operzioni di submit)
- una pagila di js con
function updateView()
{
Modalbox.hide();
__doPostBack('ModalBox', '');
in tutte le pagine ho dovuto inserire le seguenti cose nello script
script type="text/javascript" src="Js/lib/prototype.js"></script>
<script type="text/javascript" src="Js/lib/scriptaculous.js"></script>
<script type="text/javascript" src="Js/modalbox/modalbox.js"></script>
<script type="text/javascript" src="Js/JScript.js">
e in default come bottone nella grid il seguente
<ItemTemplate>
<a href="pagina3.aspx?form_Id=<%# Eval("Form_Id") %>" title="Simple form" onclick="Modalbox.show(this.title, this.href, {width: 600});Event.observe(MB_close, 'click', updateView);return false;">Seleziona</a>
</ItemTemplate>
dove ho dovuto passare la mia chiave primaria (?form_Id=<%# Eval("Form_Id"))
e nella cs
protected void Page_Load(object sender, EventArgs e)
{
string post = ClientScript.GetPostBackClientHyperlink(this, "");
if (IsPostBack)
{
string controlName = Request.Params.Get("__EVENTTARGET");
if (controlName.Equals("ModalBox"))
GridView1.DataBind();
nella pagina 2 ho fatto la magia...
rotected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
"closeModalbox", @"parent.updateView();", true);
}
sono riuscito a scoprire che la parent del modalbox è default... cosa che non mi aspettavo assolutamente! in questo modo con Page.ClientScript.RegisterClientScriptBlock ho inettato un pezzo di javascript all'interno del cs...
mentre nella pagina 3 ho dovuto semplicemente mettere:
<iframe height="250px" width="500px" src="Default2.aspx?form_Id=<%= Request.QueryString["Form_Id"] %>"
frameborder="0"></iframe>
et voilà...
se non sono stato chiaro ditemelo.. ci sono stato su qualche ora e ho la testa un pò fusa!!!
che idea però...! io non mi aspettavo che sarebbe stata così dura... sono solo alle Prime Armi!!
ciao ciao
Riky