如何包含文字控件的大小?

Posted

技术标签:

【中文标题】如何包含文字控件的大小?【英文标题】:How can I contain the size of my literal control? 【发布时间】:2018-01-17 18:33:49 【问题描述】:

我正在开发一个 ASP.NET 站点,我正在使用 HttpGetRequest 和 HttpGetResponse 将 https://news.google.com/news 的内容放入我的一个页面上的文字控件中。

问题是流覆盖了整个页面。我无法使用 div 或容器来控制大小。因此,来自文字的流覆盖了其上方的标签(在其自己的 div 中)和从 SiteMaster.Master 继承的菜单。

如何将菜单和标签保持在文字控件上方? 后面的代码:

        protected void Page_Load(object sender, EventArgs e)
    
        HttpWebRequest googRequest = (HttpWebRequest)HttpWebRequest.Create("https://news.google.com/news");
        HttpWebResponse resp = (HttpWebResponse)googRequest.GetResponse();
        string googNews = new System.IO.StreamReader(resp.GetResponseStream()).ReadToEnd();

        Literal1.Text = googNews;

        Label1.Text = DateTime.Now.ToLongTimeString();
    

平均售价:

<%@ Page Title="" Language="C#" MasterPageFile="~/SiteMaster.Master" AutoEventWireup="true" CodeBehind="Literally.aspx.cs" Inherits="DNut.Literally" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <p>
        <asp:Label ID="Label1" runat="server" Font-Names="Arial" Font-Size="Larger" Font-Italic="true"></asp:Label>
    </p>
</asp:Content>

<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
        <div>
            <asp:Literal ID="Literal1" runat="server"></asp:Literal>
        </div>
</asp:Content>

【问题讨论】:

【参考方案1】:

根据您接收内容的方式,内容可能包括 html 标签、head 标签和 body 标签。这不是注入现有 html 文档中间的有效标记。将这样的整个页面包含在另一个 html 文档中的典型方法是通过 iframe 标记。

Iframe 在网络开发世界中有点不受欢迎,并且没有被大量使用,但在这种情况下,它非常适合您正在尝试做的事情。它还有助于保护您的网站免受跨站脚本 (XSS) 攻击(试图通过文字标签将标记注入 div 的诗句。

使用 iframe 标记,您可以将 'src' 属性设置为要显示的 url,并且不需要 literal 或相关的 c# 代码来设置它。

 <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
    <iframe src='https://news.google.com/news'></iframe>
 </asp:Content>

您可以设置 iframe 的样式,使其具有理想的高度和宽度。

【讨论】:

新闻页面仍然溢出 div 的边界。 我的错,我没有仔细查看您用来获取内容的代码。我会在几秒钟内更新我的答案。 谢谢罗恩!那确实完成了我的要求,所以我将其标记为答案。只是为了分享,但我会说,出于安全原因使用 iframe 标签时,链接中的内容不再显示。但这似乎是一个不同的主题。这只是我正在做的一个实验室,所以它真的不需要比这更好。再次感谢!很好的信息。

以上是关于如何包含文字控件的大小?的主要内容,如果未能解决你的问题,请参考以下文章

用代码方式制作一个网站,内容自选; 至少包含3个网页,网页中包含必要的文字或图像;

delphi 如何获得一个窗体中有多少控件

当包含的对象改变大小时,Fabric.js 自动调整组大小

C#,reportviewer控件,怎么填充整个窗口

android switch 控件上文字"开启""关闭"颜色如何改变,还有这个switch控件大小能改变么

如何使控件占据堆栈内的实际大小