Avatar billede kkaen Nybegynder
09. november 2008 - 16:58 Der er 14 kommentarer og
1 løsning

Reference til kontrol

Jeg har en simpel aspx-side, hvorpå jeg har forskellige elementer. Der i blandt har jeg oprettet et <object> som jeg har givet et <id>. Denne kontrol vil jeg gerne sender filargumenter til gennem aspx.cs-siden. Hertil har jeg brugt en FileUpload-kontrol, som jeg forventer, kan give et fil-argument til kontrollen. Jeg har prøvet, at få fat i objekt-kontrollen, og sende fil-argumentet dertil gennem f.eks.:

this.Page.Form.Attributes(objektId);

Men det virker ikke.
Er der en, som kan vejlede mig i, hvordan jeg får sendt et filargument over til min kontrol inde i <object> ?
Avatar billede innercitydk Nybegynder
10. november 2008 - 11:20 #1
Hvilket objekt har du oprettet til at holde på værdien?
Avatar billede kkaen Nybegynder
10. november 2008 - 17:21 #2
Hvilket objekt? Hm, jeg har givet det id'et "renderer" og codebase peger på den online version af medieafspilleren. Jeg forstod ikke helt spørgsmålet, men var det nogle af disse svar, som passede til spørgsmålet?
Avatar billede innercitydk Nybegynder
11. november 2008 - 12:35 #3
Det du skriver er ret forvirrende! Du skriver du har lavet et object - som er af typen?? Mener du faktisk en usercontrol eller?! Kan du poste noget kode der viser hvordan du har impelmenteret dit "object" i formen.
Avatar billede kkaen Nybegynder
11. november 2008 - 14:30 #4
Jo, her er det vigtigste af html'en:

<body>
    <form id="form1" runat="server">
    <div>
    <table style="height: 700" width="900" border="1" cellpadding="0" cellspacing="0">
            <tr>
                <td colspan="3">
                    <object width="900" height="610" classid="clsid:660D0125-4C92-4EDD-B7B4-B36857F1449E"
                        codebase="http://www.octaga.com/freedownloads/OctagaPlayer/1.8.0.3/Setup.Exe#Version=1,8,0,3"
                        standby="Loading..." id="renderer">
                        <param name="SRC" value="http://www.octaga.com/vrml/enira/wrapper1.ewrl">
                        <param name="SplashScreen" value="True">
                        <embed type="application/x-octaga" name="Octaga" pluginspage="http://www.octaga.com"
                            width="750" height="600" src="http://www.octaga.com/vrml/enira/wrapper1.ewrl"
                            splashscreen="True">
                        </embed>
                    </object>
                </td>
            </tr>
        </table>
    </div>
    </form>
Avatar billede kkaen Nybegynder
12. november 2008 - 11:35 #5
Er det virkelig ikke muligt, at sætte "data"-atributen i html'en på runtime? Altså gennem et tryk på en knap på siden?
Avatar billede innercitydk Nybegynder
13. november 2008 - 08:08 #6
Jeg ville gøre noget helt andet. Styre det hele fra code behind, altså indsætte dit object via en label- eller literal control. Alt dette kan du jo styre hvornår skal ske med events. Eks.:

Indsæt en label i din form:
<asp:Label ID="MoviePlayer" runat="server" />

Når du har stien til filen så kald metoden herunder eller lignende
MoviePlayer.Text = ShowMovie(STIEN TIL DIN FIL);


Private String ShowMovie(String moviePath)
{
    StringBuilder htmlOutput = New StringBuilder();
    htmlOutput.Append("<object width='900' height='610' classid='clsid:660D0125-4C92-4EDD-B7B4-B36857F1449E' coodebase='http://www.octaga.com/freedownloads/OctagaPlayer/1.8.0.3/Setup.Exe#Version=1,8,0,3' standby='Loading...' id='renderer'>");
    htmlOutput.Append("<param name='" + moviePath + "' value='http://www.octaga.com/vrml/enira/wrapper1.ewrl'>");
    htmlOutput.Append("<param name='SplashScreen' value='True'>");
    htmlOutput.Append("<embed type='application/x-octaga' name='Octaga' pluginspage='http://www.octaga.com' width='750' height='600' src='http://www.octaga.com/vrml/enira/wrapper1.ewrl' splashscreen='True'>");
    htmlOutput.Append("</embed></object>");

    Return htmlOutput.ToString();
}

Mon det kunne være en løsning?
Avatar billede innercitydk Nybegynder
13. november 2008 - 08:09 #7
*Husk en reference til System.Text hvis du vil bruge StringBuilder.
Avatar billede kkaen Nybegynder
17. november 2008 - 21:42 #8
Det ser faktisk ud til, at det er den helt rigtige løsning.
Problemet er blot, at jeg konverterer den aktuelle fil, før den sendes up til serveren. Konverteringen finder sted, når jeg trykker på knappen "Gem på server". Jeg trykker på den knap, når jeg har valgt den rette fil i FileUpload-kontrollen.
Og den konverterede fil kan ikke vises i MoviePlayeren. Det er kun den fil, så man vælger gennem FileUpload-kontrollen, som kan det.
Er det derfor muligt, at sende den sti/argument fra FileUpload-kontrollen over til "ShowMovie"-metoden?
Avatar billede kkaen Nybegynder
07. december 2008 - 19:47 #9
Lægger du lige et svar innercitydk, så du kan få point for StringBuilder'eren?
Avatar billede innercitydk Nybegynder
13. december 2008 - 20:03 #10
Ja det kan sagtens lade sig gøre:


Private String ShowMovie(FileUpload)
{
    string moviePath = Server.MapPath("~/DinMovieMappe/");
    moviePath += FileUpload.FileName;

    StringBuilder htmlOutput = New StringBuilder();
    htmlOutput.Append("<object width='900' height='610' classid='clsid:660D0125-4C92-4EDD-B7B4-B36857F1449E' coodebase='http://www.octaga.com/freedownloads/OctagaPlayer/1.8.0.3/Setup.Exe#Version=1,8,0,3' standby='Loading...' id='renderer'>");
    htmlOutput.Append("<param name='" + moviePath + "' value='http://www.octaga.com/vrml/enira/wrapper1.ewrl'>");
    htmlOutput.Append("<param name='SplashScreen' value='True'>");
    htmlOutput.Append("<embed type='application/x-octaga' name='Octaga' pluginspage='http://www.octaga.com' width='750' height='600' src='http://www.octaga.com/vrml/enira/wrapper1.ewrl' splashscreen='True'>");
    htmlOutput.Append("</embed></object>");

    Return htmlOutput.ToString();
}

Jeg vil umiddelbart tro at det kan klare jobbet.

Venter lige med at acceptere så jeg er obs på at vi er i gang herinde :)
Avatar billede innercitydk Nybegynder
13. december 2008 - 20:07 #11
Glemte lige navnet på Fileupload input:

Private String ShowMovie(FileUpload uplControl)
{
    string moviePath = Server.MapPath("/DinMovieMappe/");
    moviePath += uplControl.FileName;

    StringBuilder htmlOutput = New StringBuilder();
    htmlOutput.Append("<object width='900' height='610' classid='clsid:660D0125-4C92-4EDD-B7B4-B36857F1449E' coodebase='http://www.octaga.com/freedownloads/OctagaPlayer/1.8.0.3/Setup.Exe#Version=1,8,0,3' standby='Loading...' id='renderer'>");
    htmlOutput.Append("<param name='" + moviePath + "' value='http://www.octaga.com/vrml/enira/wrapper1.ewrl'>");
    htmlOutput.Append("<param name='SplashScreen' value='True'>");
    htmlOutput.Append("<embed type='application/x-octaga' name='Octaga' pluginspage='http://www.octaga.com' width='750' height='600' src='http://www.octaga.com/vrml/enira/wrapper1.ewrl' splashscreen='True'>");
    htmlOutput.Append("</embed></object>");

    Return htmlOutput.ToString();
}
Avatar billede kkaen Nybegynder
16. december 2008 - 19:15 #12
Det ser fint ud. Hvorfor skal der ventes med at acceptere svaret?
Avatar billede innercitydk Nybegynder
03. februar 2009 - 07:17 #13
Det var såmænd bare så spørgsmålet stadig var aktivt i min liste ;-) Håber det hele virker for dig.
Avatar billede innercitydk Nybegynder
27. oktober 2010 - 12:14 #14
Bump - accepter svar pls :-)
Avatar billede kkaen Nybegynder
27. oktober 2010 - 17:32 #15
Ja, det var da vist på høje tid :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester