Green Blanket Ответов: 2

Можно ли отобразить файл .html с помощью буквального управления ASP.NET-что?


I'm trying to "display" my .html file on my web page using literal. To be honest I make it work using iframe but the only reason I'm not going to use iframe is that every time it loads my .html file, the iframe tends to have scroll and borders and gray background. I thought I can fix it by using formborder or formBorder set to 0, scroll="non" and set it's background-color to white but unfortunately, none of it worked. All I wanted to do is to display my .html on my web page without these borders, scrolls and unchanged background color. I read some articles that I can use asp.net control literal to display my .html file but all of them didn't showed the process on how to do so.

Я буду рад и благодарен вам, если вы сделаете какое-нибудь предложение или решение моей проблемы.

Овации~

Примечание: мой sample.html это документ, преобразованный из sample.rtf. Я думал, что смогу отобразить на своей странице файл .html.

Что я уже пробовал:

на моем сервере

Примечание: Я хочу сохранить свой код сзади, так как скоро я буду заполнять литерал путем, идущим из моей базы данных, и я хочу, чтобы моя строка file_location поймала его, прежде чем передавать его на управление литералом.

protected void Page_Load(object sender, EventArgs e)
        {
           string file_location = "Contents/sample.html";
        }


На моего клиента

<asp:Literal ID="display_html" runat="server"></asp:Literal>

F-ES Sitecore

Это будет возможно только в том случае, если все, что находится в вашем html-файле, действительно при вводе на вашу страницу. Если ваш html-файл является полным рабочим html-файлом, то он не будет работать, так как вы в конечном итоге получите вложенные html-элементы. Мало того, что html должен быть действительным, когда он вложен в вашу страницу, но и стили будут такими же, как html наследует стили страницы, в которую он вводится. Вот почему люди используют для этого iframes, поскольку это решает все эти проблемы.

Таким образом, ответ на вопрос, возможно ли это, зависит от того, что находится в вашем html-файле.

Green Blanket

мой sample.html это документ, преобразованный из sample.rtf. Я думал, что смогу отобразить на своей странице файл .html.

2 Ответов

Рейтинг:
18

Sarita Mall

попробовать это:

public void bindDischargeContent()
        {
            string urlAddress = "Your Daynamic URL";// System.Configuration.ConfigurationManager.AppSettings["DisChargeSiteUrl"];
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            if (response.StatusCode == HttpStatusCode.OK)
            {
                Stream receiveStream = response.GetResponseStream();
                StreamReader readStream = null;
                if (response.CharacterSet == null)
                {
                    readStream = new StreamReader(receiveStream);
                }
                else
                {
                    readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
                }
                string data = readStream.ReadToEnd();                
                LitForOtherWebsite.Text = data;
                response.Close();
                readStream.Close();
            }
        }



HTML часть:
<asp:Literal ID="LitForOtherWebsite" runat="server"></asp:Literal>

Пожалуйста, голосуйте!!


Richard Deeming

HTTP - запрос только для чтения файла, находящегося на том же сервере? Это немного чересчур, тебе не кажется?

Green Blanket

мой sample.html это документ, преобразованный из sample.rtf. Я думал, что смогу отобразить на своей странице файл .html.

Рейтинг:
12

Richard Deeming

Попробуй:

const string virtualPath = "~/Contents/sample.html";
string physicalPath = Server.MapPath(virtualPath);
display_html.Text = System.IO.File.ReadAllText(physicalPath);

Но имейте в виду комментарий от F-ES Sitecore: если файл, который вы загружаете, является полным документом, а не фрагментом HTML, то вы столкнетесь с проблемами.

Если вы просто хотите удалить границы из iframe- ты можешь это сделать:
<style>
iframe.seamless {
    background-color: transparent;
    border: 0px none transparent;
    padding: 0px;
    overflow: hidden;
}
</style>

<iframe class="seamless" frameborder="0" allowtransparency="true" scrolling="no" src="Contents/sample.html"></iframe>

HTML5 iFrame бесшовный атрибут - переполнение стека[^]


Green Blanket

мой sample.html это документ, преобразованный из sample.rtf. Я думал, что смогу отобразить на своей странице файл .html.