Как добавить код для вывода

#.net #vb.net

#.net #vb.net

Вопрос:

Я работаю над этим проектом в .net. Когда вы перейдете в браузер, вы увидите пять разных ресторанов, а на кнопке ниже указано изменить цвет, и если вы нажмете на нее, вы сможете ее изменить. То, что я пытаюсь сделать, это рядом с названием ресторана указать адрес, номер телефона, но я действительно не знаю, как его закодировать. Я уверен, что знаю, но мой разум не помнит, как это сделать. Ниже приведены мои коды..

Вот мой код класса:

 Public Class Restaurant

Private _Id As Integer
Public Property Id() As Integer
    Get
        Return _Id
    End Get
    Set(ByVal value As Integer)
        _Id = value
    End Set
End Property

Private _Name As String
Public Property Name() As String
    Get
        Return _Name
    End Get
    Set(ByVal value As String)
        _Name = value
    End Set
End Property

Private _Location As String
Public Property Location() As String
    Get
        Return _Location
    End Get
    Set(ByVal value As String)
        _Location = value
    End Set
End Property


Private _Stars As Integer
Public Property Stars() As Integer
    Get
        Return _Stars
    End Get
    Set(ByVal value As Integer)
        _Stars = value
    End Set
End Property



Private _PhoneNumber As Integer
Public Property PhoneNumber() As String   ' Allows "-", ".", "x" in number
    Get
        Return _PhoneNumber
    End Get
    Set(ByVal value As String)
        _PhoneNumber = value
    End Set
End Property





Public Sub Restaurant()

End Sub

''' <summary>
''' This Function simulates getting data from a Database
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Public Function GetFavoriteRestaurants() As List(Of Restaurant)
    Dim favRestaurants As List(Of Restaurant) = Nothing
    favRestaurants = New List(Of Restaurant)

    favRestaurants.Add(New Restaurant)
    favRestaurants(0).Id = 0
    favRestaurants(0).Name = "Carabbas"
    favRestaurants(0).Location = "North Canton"
    favRestaurants(0).Stars = 3
    favRestaurants(0).PhoneNumber = 330 - 966 - 242


    favRestaurants.Add(New Restaurant)
    favRestaurants(1).Id = 1
    favRestaurants(1).Name = "Peter Shears"
    favRestaurants(1).Location = "Canton"
    favRestaurants(1).Stars = 4
    favRestaurants(1).PhoneNumber = 330 - 522 - 8300


    favRestaurants.Add(New Restaurant)
    favRestaurants(2).Id = 2
    favRestaurants(2).Name = "Salsitas"
    favRestaurants(2).Location = "Kent"
    favRestaurants(2).Stars = 2
    favRestaurants(2).PhoneNumber = 330 - 673 - 8874

    favRestaurants.Add(New Restaurant)
    favRestaurants(3).Id = 3
    favRestaurants(3).Name = "Ruby Tuesday"
    favRestaurants(3).Location = "North Canton"
    favRestaurants(3).Stars = 4
    favRestaurants(3).PhoneNumber = 330 - 434 - 232

    favRestaurants.Add(New Restaurant)
    favRestaurants(4).Id = 4
    favRestaurants(4).Name = "OutBack SteakHouse"
    favRestaurants(4).Location = " Canton"
    favRestaurants(4).Stars = 4
    favRestaurants(4).PhoneNumber = 330 - 493 - 9515

    Return favRestaurants
End Function

 End Class
  

Вот мой другой код:

  <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="RestaurantVB._Default" %>

<!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>Lab W8</title>
        <script language="javascript" type="text/javascript">

        //I built in some of our HTML5 code from last week
        function browserHtml5Test() {
            var canvas = document.getElementById("html5Test");
            if (canvas == null || canvas.getContext == null) {
                document.getElementById("canvasReport").style.color = "Red";
                document.getElementById("canvasReport").innerHTML = "HTML5 NOT Supported";
            }
            document.getElementById("canvasReport").innerHTML = "HTML5 Supported!";
        }

        function changeStyles() {
            //Get the Id of this particular item. Here we don't have to change the styles.
            //We could make a call to a database via ajax since we have the id that is stored
            //in the database.
            var tmp = document.getElementById("rest0");
            if (tmp != null) {
                tmp.style.color = "green";
            }

            tmp = document.getElementById("rest1");
            if (tmp != null) {
                tmp.style.color = "green";
            }

            tmp = document.getElementById("rest2");
            if (tmp != null) {
                tmp.style.color = "green";
            }

            tmp = document.getElementById("rest3");
            if (tmp != null) {
                tmp.style.color = "green";
            }

            tmp = document.getElementById("rest4");
            if (tmp != null) {
                tmp.style.color = "green";
            }

            tmp = document.getElementById("rest5");
            if (tmp != null) {
                tmp.style.color = "green";
            }
            //Yes these could have been done via loop.
        }
    </script>
    <style type="text/css">
        #TextArea1
        {
            width: 244px;
        }
        #Select1
        {
            width: 226px;
        }
        #Text1
        {
            width: 151px;
        }
    </style>
</head>
<body onload="browserHtml5Test();" style="height: 340px">
    <form id="form1" runat="server">

    <div id="canvasReport" style="color: Blue; margin-bottom: 15px;"></div>
    <div>
        <% 
            For Each r As RestaurantVB.Restaurant In _restaurants
                Response.Write(String.Format("<div id=""rest{0}"">{1}</div>", r.Id, r.Name))
            Next

        %>
        amp;nbsp;
        <br />
        <br />
        <br />

        <input type="button" value="Change Styles" onclick="changeStyles();" /></div>

    <canvas id="html5Test” width="150" height="150"></canvas>

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

Мой вопрос заключается в том, может ли кто-нибудь помочь мне понять, как написать номер телефона и адрес рядом с рестораном, чтобы все они отображались.

Комментарии:

1. При задании вопроса постарайтесь сократить свой код до основных частей.

Ответ №1:

Попробуйте что-то вроде:

 For Each r As RestaurantVB.Restaurant In _restaurants
    Response.Write(String.Format("<div id=""rest{0}"">{1}<br />", r.Id, r.Name))
    Response.Write(String.Format("{0}, {1}</div>", r.Location, r.PhoneNumber))
Next
  

По сути, просто добавляю еще одну строку под исходной с адресом и номером телефона. Если вы добавите дополнительные данные в ту же строку, это может стать довольно длинным, в зависимости от длины адреса…