动态添加的listitem和menuitem链接无效

时间:2013-06-27 15:58:30

标签: c# hyperlink asp.net-4.0

我正在尝试创建指向传递FileUpload控件中上传文件路径的页面的链接。此链接需要添加到列表中。当我在链接到html的硬编码时,页面工作得很好。但是,当我尝试动态创建链接时,我总是收到错误:

  

无法找到资源。

     

描述:HTTP 404.您正在查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。

     

请求的网址:/WebForm1.apsx

我已尝试使用asp:Menu和带有超链接显示模式的asp:BulletedList。下面是html。

<asp:FileUpload ID="FileUpload1" runat="server" Width="600" ToolTip="Choose the Trade Blotter Source File to Upload" />
<asp:Button ID="UploadButton" runat="server" Text="Upload File Data"     OnClick="UploadButton_Click" ToolTip="Upload the File Data" />
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false"
    IncludeStyleBlock="false" Orientation="Horizontal">
    <Items>
        <asp:MenuItem NavigateUrl="~/WebForm1.aspx?param=hubba hubba" Text="without fileupload" />
    </Items>
</asp:Menu>

<asp:BulletedList ID="BulletedList1" DisplayMode="Hyperlink" runat="server"  >
    <asp:ListItem Value="~/Webform1.aspx?param=New York">New York</asp:ListItem>

    </asp:BulletedList>
  <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

单击上传按钮时,此代码将运行,

protected void UploadButton_Click(object sender, EventArgs e)
    {
        string s = FileUpload1.FileName;
        string url = "~/WebForm1.apsx?param=" + s;

        ListItem li = new ListItem(s, url);
        BulletedList1.Items.Add(li);

        MenuItem mu = new MenuItem(s, null, null, url);
        NavigationMenu.Items.Add(mu);

    }

按下上传按钮后,BulletedList和Menu都会添加链接,但这两个链接都会导致上述错误。任何建议将不胜感激

克里斯

1 个答案:

答案 0 :(得分:0)

你在这一行上有一个错字:

string url = "~/WebForm1.apsx?param=" + s;

应该是

string url = "~/WebForm1.aspx?param=" + s;