【问题标题】:How to add text and images statically and dynamically on aspx page in my situation如何在我的情况下在 aspx 页面上静态和动态添加文本和图像
【发布时间】:2015-02-17 16:14:40
【问题描述】:

我是 ASP.NET 的初学者,我的第一个应用程序具有这样的视图:http://prntscr.com/5iaiig

在这里您可以看到它与 facebook 有点相似,不同之处在于我想简单地演示单击每个按钮(如“主页”、“关于”、“时间线”和“照片”)时的不同文本。 我不知道该怎么做?

我对 Site.Mater 的所有代码是:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="WebApplication1.SiteMaster" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
    <title></title>
    <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
    <asp:ContentPlaceHolder ID="HeadContent" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form runat="server">
    <div class="page">
        <div class="header">
            <div class="title">
                <h1>
                  <img src="Images/sss.jpg" alt="Powered by Shekhar" width="80" height="100" />
                    Shekhar's FaceBuk                   
                </h1>
            </div>
            <div class="loginDisplay">
                <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
                    <AnonymousTemplate>
                        [ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ]
                    </AnonymousTemplate>
                    <LoggedInTemplate>
                        Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
                        [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/"/> ]
                    </LoggedInTemplate>
                </asp:LoginView>
            </div>
            <div class="clear hideSkiplink">
                <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
                    <Items>
                        <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
                        <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
                        <asp:MenuItem NavigateUrl="~/About.aspx" Text="TimeLine"/>
                        <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Photos"/>
                        <asp:MenuItem Text="testing of shekhar" />
                    </Items>    
                </asp:Menu>
            </div>
        </div>
        <div class="main">
            <asp:ContentPlaceHolder ID="MainContent" runat="server"/>
        </div>
        <div class="clear">
        </div>
    </div>
    <div class="footer">

    </div>
    </form>
</body>
</html>

而重要的部分是:

<div class="clear hideSkiplink">
                <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
                    <Items>
                        <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
                        <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
                        <asp:MenuItem NavigateUrl="~/About.aspx" Text="TimeLine"/>
                        <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Photos"/>
                        <asp:MenuItem Text="testing of shekhar" />
                    </Items>    
                </asp:Menu>
            </div>

在我的 About.aspx 中,两个 .cs 文件是: About.aspx.cs 和 About.aspx.designer.cs 分别如下:

namespace WebApplication1
{
    public partial class About : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            // Get the number of labels to create.

        }
    }
}

namespace WebApplication1
{
    public partial class About
    {
    }
}

现在的问题是如何更改这 两个类Site.Maser 以便我可以在点击“关于”时显示一些内容(文本、图像等)就在下面(我必须为每个按钮点击做同样的事情,但是一旦我有了一个想法,我就可以为其他人做)?谢谢对我来说是一个很大的帮助。

【问题讨论】:

    标签: c# asp.net html master-pages


    【解决方案1】:

    一般来说,您永远不需要处理 Designer.cs 文件。如果您需要做的只是显示文本、图像等内容,那么您根本不需要处理 *.cs 文件。只需将标记直接放在 about.aspx 页面中即可。将其包装在 asp:Content 标记中,以便它包含在您的母版页中,如下所示:

    关于.aspx

    <%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="About.aspx.cs" Inherits="WebApplication1.About" %>
    <asp:Content ContentPlaceHolderID="MainContent" runat="server">
        <h1>About Us</h1>
        <p>We code in HTML5 and CSS3</p>
        <img src="/images/logo.gif" />
    </asp:Content>
    

    【讨论】:

    • 当我点击 About.aspx 时,它给出了这个:prntscr.com/5ihsge 所以我可以在 About.aspx 中添加代码(你写的)
    • 不能直接通过文件系统打开页面,即C:\users\...\about.aspx。您必须通过 Web 服务器运行它。在 Visual Studio 中,您可以按播放按钮加载 Web 服务器 (IIS express),该服务器将显示站点并处理您的 aspx 页面。实际上,在您的第一个屏幕截图中,它显示了正在使用的 url localhost:58017,我假设您通过按下播放按钮到达那里。但是在您的第二个屏幕截图中,您似乎正在浏览无法正常工作的文件系统。
    • 我试图通过直接单击来打开 About.aspx,然后它给出了这个错误。但是为什么我从您的 cmets 中了解到:(1)我应该点击播放按钮,它会进入我的浏览器并显示网站,然后我将您的代码放在网站上的“关于”按钮点击上。如果我错了,请您纠正我。 (我有点困惑)。非常感谢。
    • 事实上我已经运行了这个:localhost:58017/About.aspx。所以你的意思是我必须把你粘贴的代码放在写“把内容放在这里”的地方。但这是不可能的,因为当我不能在那里粘贴任何东西时(它不是任何文本块,所以它可以接收任何文本)。
    • 我看不到你在哪里写了“把内容放在这里”。您可以将我编写的代码添加到 Visual Studio 中的 aspx 页面。然后,当您按下播放按钮并单击 About 链接时,您应该会看到 asp:Content 区域内的 html 内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-05-08
    相关资源
    最近更新 更多