Hej, Du borde kunna lägga filnamnet i en Session och sedan plocka upp den från huvudsidan. Hej, jo det har jag redan tänkt på, men hur vet huvudsidan att något har hänt i Iframen? Du kan inte lägga uppladdningen i en UserControl och sedan Raisa ett event från den när filen är uppladdad så kan du skicka med filnamnet när eventet triggas!? Eftersom att det är två olika sidor så måste du ta till javascript, dvs få uppladdningssidan att köra ett javascript när filerna är uppladdade som ser till att göra en postback på huvudsidan/fyller i textboxen (förslagsvis det senare, dvs. bara fylla textboxen) Hej Patrik, Hej, du har inget bra förslag på javascript(är inte vidare bra på de). Hej, Hej, jag kikade där och det såg trevligt ut. Som du kan se så är det ett fruktansvärt fult id för ASP.NET-kontrollen. I .NET 4.0 så kan man ändra ID:t till vad man vill. :-) Kommer inte att bli dumt det! ...och jag kan i dagsläget göra "samma" sak för .net 2.0 ;PVärden från iframe till huvudsidan?!
Jag har en uppladdningskontroll med massa textboxar.
Överst på sidan så har jag en iframe där jag har en asp:upload control.
När en fil är uppladdad vill jag att fil namnet ska fyllas in i en textbox på huvudsidan.
Någon som vet hur jag går tillväga.
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="width180">
<asp:Label ID="Label2" runat="server" Text="* Select File:"
CssClass="layoutLabel"></asp:Label>
</td>
<td>
<iframe src="uploadControl.aspx" id="ifrm" frameborder="0" scrolling="no"
width="700px" height="40"></iframe>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdateCreate" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<table cellpadding="0" cellspacing="0" border="0">
<asp:Panel ID="pnlMain" runat="server" Visible="false">
<tr>
<td class="width180">
<asp:Label ID="Label21" runat="server" Text="* File Name:"
CssClass="layoutLabel">
</asp:Label>
</td>
<td colspan="3">
<asp:TextBox ID="txbFileName" runat="server" CssClass="box"
Width="200px" MaxLength="30" />
Sv: Värden från iframe till huvudsidan?!
Sv:Värden från iframe till huvudsidan?!
textboxen kommer ju direkt under iframe kontrollen och ska fyllas så fort som en fil är uppladdad, jag gör ingen postback på huvudsidanSv: Värden från iframe till huvudsidan?!
Sv:Värden från iframe till huvudsidan?!
Sv: Värden från iframe till huvudsidan?!
Det enda jag kan komma på är att skriva ett eget javascript för uppladdningen (kika på jQuery, det underlättar en hel del).
UpdatePanel är inte särskilt optimerad för något specifikt syfte, utan har som uppgift att vara så generell som möjligt. Det leder tyvärr till bristande prestanda och flexibilitet.
Kika här för mer info om jQuery:
http://jquery.com
Ett jQuery-plugin för att ladda upp filer:
http://plugins.jquery.com/project/jsupload
Hoppas det hjälper,
Mikael SöderströmSv: Värden från iframe till huvudsidan?!
Tack annars för svar, det var något i den stilen jag trodde att de skulle vara.Sv:Värden från iframe till huvudsidan?!
Kika på pluginet som finns på andra länken jag skickade i förra posten. Där finns det dokumentation som visar hur du gör för att få det att fungera.
Det är riktigt smidigt med jQuery!
/Mikael SöderströmSv: Värden från iframe till huvudsidan?!
Dock så använde jag mig av min lösning som jag redan hade.
Lösningen var enklare än jag trodde.
I uppladdningsknappen (i min Iframe) så lade jag till följande kodrad:
Page.ClientScript.RegisterStartupScript(GetType(String), "Update", "<script language=javascript>window.parent.document.getElementById('ctl00_ContentPlaceHolder1_txbDocName').value = '" + filename+ "';</script>")
och vips så fylldes textboxen med filnamnet.
Får tacka alla som hjälpt till.
//PatrikSv:Värden från iframe till huvudsidan?!
Ändra värden på kontrollID:t i .net 2.0 med
jag kan t.o.m. välja att inte alls ha med ID ;)
...men jag håller med dig det kommer absolut att bli trevligt iom v4.0! :D