Hej,
Jag har två iframes. På den ena finns en knapp. När jag trycker på den ska data hämtas och bindas till datagriden i den andra iframen. Har försökt med olika strategier utan att lyckas. Har ngn en lösning?
Tack på
5 svar · 254 visningar · startad av clarkbones
Hej,
Jag har två iframes. På den ena finns en knapp. När jag trycker på den ska data hämtas och bindas till datagriden i den andra iframen. Har försökt med olika strategier utan att lyckas. Har ngn en lösning?
Tack på
OK,
När jag trycker på Hämta-knappen i iframe 1 så använder jag javacsript för att ladda om sidan i den andra iframen.
Jag använder nu codebehind-kod för att hämta ett dataset. Det datasetet vill jag då binda till datagriden i iframe 2. Var kommer javascript in i bilden? Jag vill kunna använda codebehind för att hämta datasetet.
Lägg denna kod i knappens event hanterare.
Page.RegisterClientScript("lalala", "<script language='Javascript' type='text/javascript'>function grr(){parent.document.getElementById('iframe2').src = 'datagridsida.aspx?dataid=3';}</script>");
Koden är otestad och osäker, men borde funka så att javascriptet säger till sin parent(sidan med iframen) att leta reda på "iframe2" och sätta dess src.
ok, bara en fråga kvar då ;)
Jag är ny på webbprogrammering. Har mest hållit på med windows-programmering förut.
Jag har en eventhandler för knapp 1. I den har jag en variabel som heter ds och som är ett dataset. Problemet är hur jag får datasetet som jag erhåller i frame 1 till frame 2?
Du kan säkert lägga det i session eller nåt, men det bästa är väl att ta ut datan i frame 2 sidan.
Sida 1.
private void button_click(object sender, EventsArgs e)
{
int id = GetDataId();
Page.RegisterClientScript("lalala", string.Format("<script language='Javascript' type='text/javascript'>parent.document.getElementById('iframe2').src = 'datagridsida.aspx?dataid={0}';</script>", id.ToString());
}
Sida 2.
protected DataGrid dgData;
private void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
BindData();
}
private void BindData()
{
int id = int.Parse(Request.QueryString["dataid"].ToString());
dgData.DataSource = GetData(id);
dgData.DataBind();
}