繁体   English   中英

缺少 Default.aspx 表单

[英]Default.aspx form missing

我正在尝试遵循本教程
教程链接

当我使用 ASP.NET Web Forms 应用程序在 VS 2019 版本 16.7.5 Net Framework 4.8 中启动新项目时。 我在项目中没有看到 Default.aspx 页面。 因为这对我来说看起来像一个 HTML 页面,所以我尝试将教程中的代码添加到 HTML 容器中。 很多错误?
我正在将 C# 代码转换为 VB。 我在搜索正确的模板时看到了这个屏幕截图。 在此处输入图像描述

我的问题是我需要添加一个库吗?
或者如何将 Default.aspx 表单添加到项目中?

确保您安装了正确的 VS 工作负载和单个组件。

  • 打开Visual Studio 安装程序
  • 点击修改
  • 单击工作负载选项卡
  • 确保检查ASP.NET和web开发,如果没有检查。
  • 单击单个组件
  • Check desired .NET Framework SDK's and targeting pack (ie: .NET Framework 4.7.2 SDK , .NET Framework 4.7.2 targeting pack , .NET Framework 4.8 SDK , and .NET Framework 4.8 targeting pack )
  • 如果您进行了任何更改,请在右下角 select全部下载,然后安装. 然后单击修改

然后尝试以下操作:

注意:下面的代码从这里转换为 VB.NET。 但是,class 名称已更改。 为了测试,我使用了 .NET 框架版本 4.8,但其他版本可能也可以。

与 2019 年相比

创建一个新项目

  • 打开 Visual Studio

  • 单击无代码继续

  • 单击文件

  • Select

  • Select项目

  • Select 如下:

    在此处输入图像描述

  • 单击下一步

  • Select 如下:

    在此处输入图像描述

  • 单击下一步

  • 输入所需的项目名称(例如:RSSFeedReader)

  • 单击创建

  • Select 如下:

    在此处输入图像描述

  • 可选:在右侧,在Advanced下,取消选中Configure for HTTPS

  • 单击创建

打开解决方案资源管理器

  • 在 VS 菜单中,单击查看
  • Select解决方案资源管理器

添加 class (名称:RSSFeed.vb)

  • 在解决方案资源管理器中,右键单击 <项目名称>(例如:RSSFeedReader)
  • Select添加
  • Select Class... (名称:RSSFeed.vb)
  • 点击添加

RSSFeed.vb

Public Class RSSFeed
    Public Property Title As String
    Public Property Link As String
    Public Property PublishDate As String
    Public Property Description As String
End Class

添加WebForm (名称:default.aspx)

  • 在解决方案资源管理器中,右键单击 <项目名称>(例如:RSSFeedReader)
  • Select添加
  • Select新品...
  • Select Web 表格(名称:default.aspx)
  • 点击添加

修改default.aspx

  • 在解决方案资源管理器中,右键单击default.aspx
  • Select查看标记

默认.aspx

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="default.aspx.vb" Inherits="RSSFeedReader._default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <h3>Read RSS Feed from "NASA"</h3>

        <form id="Form1" runat="server" >

            <!-- Where XYZ refers to the publication from where you wish to fetch the RSS feed from -->
            <div style="max-height:350px; overflow:auto">
                <asp:GridView ID="gvRss" runat="server" AutoGenerateColumns="false" ShowHeader="false" Width="90%">
                    <Columns>
                        <asp:TemplateField>
                            <ItemTemplate>
                                <table width="100%" border="0" cellpadding="0" cellspacing="5">
                                    <tr>
                                        <td>
                                            <h3 style="color:#3E7CFF"><%#Eval("Title") %></h3>
                                        </td>
                                        <td width="200px">
                                            <%#Eval("PublishDate") %>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td colspan="2">
                                            <hr />
                                            <%#Eval("Description") %>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td> </td>
                                        <td align="right">
                                            <a href='<%#Eval("Link") %>' target="_blank">Read More...</a>
                                        </td>
                                    </tr>
                                </table>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>
            </div>    
        </form>
    </body>
</html>

修改default.aspx.vb

  • 在解决方案资源管理器中,右键单击default.aspx
  • Select查看代码

默认.aspx.vb

Public Class _default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'ToDo: replace with the URL to your desired RSS feed
        PopulateRssFeed("https://www.nasa.gov/rss/dyn/lg_image_of_the_day.rss")
    End Sub

    Private Sub PopulateRssFeed(rssFeedUrl As String)
        'create new List
        Dim feeds As List(Of RSSFeed) = New List(Of RSSFeed)

        Try
            'create new instance
            Dim xDoc As XDocument = New XDocument()

            'load
            xDoc = XDocument.Load(rssFeedUrl)

            Dim items = From x In xDoc.Descendants("item")
                        Select New RSSFeed With
                        {
                            .Title = x.Element("title").Value,
                            .Link = x.Element("link").Value,
                            .PublishDate = x.Element("pubDate").Value,
                            .Description = x.Element("description").Value
                        }

            If items IsNot Nothing Then
                For Each i In items
                    Dim f As RSSFeed = New RSSFeed() With {
                        .Title = i.Title,
                        .Link = i.Link,
                        .PublishDate = i.PublishDate,
                        .Description = i.Description
                        }

                    'add 
                    feeds.Add(f)
                Next
            End If

            gvRss.DataSource = feeds
            gvRss.DataBind()
        Catch ex As Exception
            Throw ex
        End Try
    End Sub
End Class

资源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM