Hi, Milosz, it works great, thank you very much !
:-)) raduspage.aspx... Cute :-))
I read the code, I translated it (mentally) from C# to VB (I don't know
much C#), and it makes sense.
However, I have one question: It says "OnChange is not a valid
attribute of element DropDownList" - however, hmmmmm, it works.
Thanks again - I'll work now on translating it into VB and
incorporating it into my program.
Alex (or.... Radu) :-))
On Jan 24, 10:47 am, Milosz Skalecki [MCAD] <mily...@REMOVEITwp.pl>
wrote:
> Hi radu,
>
> I see you don't quite understand the asp.net concept as you're mixing server
> and client sides. But don't worry, i created a simple example to help you
> with dynamic document previewing. Example consists of two pages, one
> containing combo box for selecting word document, and second, which displays
> the document. Please note you have to populate combo box with file names
> users can preview (i.e. using system.IO.File.GetFiles() method)
>
> -- begin raduspage.aspx html code --
>
> <%@ Page Language="C#" AutoEventWireup="true" CodeFile="RadusPage.aspx.cs"
> Inherits="RadusPage" %>
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
> <html xmlns="http://www.w3.org/1999/xhtml" >
> <head runat="server">
> <title>Untitled Page</title>
> </head>
> <body>
> <form id="form1" runat="server">
> <div>
> <asp
ropDownList runat="server" ID="fileList" onchange="previewFile(this)">
> <asp:ListItem Text="Please select a file"/>
> <asp:ListItem Text="file1.doc"/>
> <asp:ListItem Text="file2.doc"/>
> <asp:ListItem Text="file3.doc"/>
> </asp
ropDownList>
> </div>
>
> <div style="padding: 10px; border: solid 1px black; width: 500px;
> height: 350px">
> <iframe src="preview.aspx" runat="server" id="viewer"
> frameborder="0"></iframe>
> </div>
>
> <script language="javascript">
> //<!--
> function previewFile(cbo)
> {
> var index = cbo.selectedIndex;
> // first item is ' please select...'
> if (index > 0)
> {
> var ifr = document.getElementById('<%=viewer.ClientID %>');
> ifr.src = 'preview.aspx?file=' + escape(cbo.options[index].text);
> }
> }
> //-->
> </script>
>
> </form>
> </body>
> </html>
> -- end --
>
> Second apsx page: Remove all html code from this page - leave
>
> <%@ Page Language="C#" AutoEventWireup="true" CodeFile="preview.aspx.cs"
> Inherits="preview" %>
>
> only
>
> -- begin preview.aspx c# code behind --
>
> using System;
> using System.Data;
> using System.Configuration;
> using System.Collections;
> using System.Web;
> using System.Web.Security;
> using System.Web.UI;
> using System.Web.UI.WebControls;
> using System.Web.UI.WebControls.WebParts;
> using System.Web.UI.HtmlControls;
>
> public partial class preview : System.Web.UI.Page
> {
> protected void Page_Load(object sender, EventArgs e)
> {
> string value = Request.QueryString["file"];
>
> if (String.IsNullOrEmpty(value))
> {
> Response.Write("File has not been selected yet.");
> }
> else
> {
> AttachFile(value);
> }
> }
>
> private void AttachFile(string file)
> {
> // i put my example word files in application's root directory
> file = Server.MapPath("~/" + file);
>
> if (System.IO.File.Exists(file))
> {
> // determine the MIME content type i.e. using extension
> // for word documents MIME type equals : application/msword
> Response.ContentType = "application/msword";
> Response.WriteFile(file);
> }
> else
> {
> Response.Write("File cannot be found");
> }
>
> Response.End();
> }
>
> }-- end c# code
>
> Hope this helps
> Milosz
>
>
>
> "Radu" wrote:
> > Hi, I have a "select" control named "cboSelectScorecardType", defined
> > as
>
> > <select id="cboSelectScorecardType"
> > size="1"
> > runat="server">
> > </select>
>
> > which shows a list of files on my drive. It does not post back, nor do
> > I want it to. After the user selects a document in the combo, I want a
> > hyperlink defined in the same page as
>
> > <asp:HyperLink
> > Target="_blank"
> > NavigateUrl="javascript:Concat();"
> > ID="cmdOpenScorecardPreview"
> > Text="here"
> > runat="server">
> > </asp:HyperLink>
>
> > to have the NavigateURL property set to whatever the combo points to,
> > so that the user can click on it to preview the document selected in
> > the combo, so therefore I tried to use this:
>
> > function MyConcat()
> > {
> > return String.Concat(
> > "~",
> > "\Scorecard Previews\",
>
> > cboSelectScorecardType.Items(cboSelectScorecardType.SelectedIndex).ToString*,
>
> > ".doc"
> > );
> > }
>
> > I confess I don't really know JavaScript.
>
> > What am I doing wrong ? Is there a simpler way to do this ? There is no
> > server event I can write my code into...
>
> > Thanks, Alex- Hide quoted text -- Show quoted text -