在Asp中定义数组是这样的
dim p_n(10)
p_n(1)="北京"
p_n(2)="上海"
p_n(3)="广州"
p_n(4)="武汉"
p_n(5)="深圳"
p_n(6)="成都"
p_n(7)="南京"
p_n(8)="天津"
p_n(9)="重庆"而在.NET中定义是这样
dim p_n() as string={"北京","上海","广州","武汉","深圳","成都","南京","天津","重庆"}疑惑1(10点):在.NET中定义数据只能这个样子吗?这样好像不是很清晰,象Asp中的一目了然。
可不可以采取Asp中这样的形式?
疑惑2(5点):在Asp中取得数组上限是ubound(p_n()),那么对应在.NET中应该是什么?
疑惑3(20点):如果我想将这个数组给控件绑定,但又不想将数组完全列出,应该怎么做?
比如“<td><a href="place.asp?pid=1">北京</a></td><td><a href="place.asp?pid=2">上海</a></td><td><a href="place.asp?pid=3">广州</a></td><td><a href="place.asp?pid=4">武汉</a></td><td><a href="place.asp?pid=5">深圳</a></td><td><a href="place.asp">更多</a></td>”实现这种形式,用Repeater怎么做?
疑惑4(5点):在接收端Place.asp,如果给出了Pid,我怎么得出数据的内容?象Asp中只要p_n(pid)就可得到数组的内容了!请高手给解惑,谢谢!

解决方案 »

  1.   

    疑惑1:可以像ASP那样写
    疑惑2:p_n.Length
    疑惑3:repeater.datasource = p_n
           repeater.databind
    疑惑4:.net也一样,可以用索引
      

  2.   

    疑惑1:下面的示例创建一个整数值的一维数组,初始化数组元素并将它们分别打印出来:
    Module Test
       Sub Main()
          Dim arr(5) As Integer
          Dim i As Integer
          For i = 0 To arr.GetUpperBound(0)
             arr(i) = i * i
          Next i
          For i = 0 To arr.GetUpperBound(0)
             Console.WriteLine("arr(" & i & ") = " & arr(i))
          Next i
       End Sub
    End Module
    程序输出结果如下:
    arr(0) = 0
    arr(1) = 1
    arr(2) = 4
    arr(3) = 9
    arr(4) = 16疑惑2:在 Visual Basic .NET 中,数组索引的编号总是从零开始 所以上限就的最大值-1;
      

  3.   

    答疑惑1:
    .net数组下标从0开始,数组的初始化也可以如VB中的写法一样,不过有些不同:
     Dim strArray(3) As String
     strArray(0) = "1"
     strArray(1) = "2"
     strArray(2) = "3"但如果这么初始化数组,我倒是觉得简单:Dim strArray() As String = {"1", "2", "3"}答疑惑2:
    strArray.GetUpperBound(0) '0表示数组的维数答疑惑3:
    如果使用数组绑定,那只能自己用程序写个过滤,把要的值放到另一个数组或者是ArrayList里再实施绑定了。关于疑惑4:
    不明白你是怎么接受Place.asp的?是HttpWebRequest吗?
      

  4.   

    谢谢三位的回答,我把我反馈到的问题一并讲给你们听,就不一一回复了。
    1、按照
    dim p_n(10) as string
    p_n(0) = "本地"
    p_n(1) = "北京"
    p_n(2) = "上海"
    p_n(3) = "广州"
    p_n(4) = "武汉"
    p_n(5) = "深圳"
    p_n(6) = "成都"
    p_n(7) = "南京"
    p_n(8) = "天津"
    p_n(9) = "重庆"
    这种写法,是出现错误的,不知道是哪里错:
    Compiler Error Message: BC30188: Declaration expected.
    指向p_n(0) = "本地"这行。
    2、请注意疑惑3,目的是只想列出前5个地方,然后写个更多,而不是所有地方
    另外,象我设置的这个Repeater应该怎么写呢?
    <asp:repeater id="rp1" datasource="<%# p_n%>" runat=server>
    <itemtemplate>
    <tr height=200 align=center>
    <TD><%# (p_n(1))%></td>
    </tr>
    </itemtemplate>
    </asp:Repeater>
    3、疑惑4我写的有点小错误,应该是Place.aspx文件,比如给出地区id=2,我如何得出这个地方就是上海?
    谢谢各位,请再接再厉!
      

  5.   

    一个是vbscript,一个是vb,很多是相通的
      

  6.   

    <table border=1 width=800 align=center>
    <asp:repeater id="rp1" datasource="<%# p_n%>" runat=server>
    <itemtemplate>
    <tr height=100 align=center>
    <TD><%#  Container.DataItem%></td>
    </tr>
    </itemtemplate>
    </asp:Repeater>
    </table>