AdRotator的链接网址总是跟在http://localhost/ads/%20%20%20%20%20%20后面

prog_4321 2011-04-15 10:51:18
有一个AdRotator控件<asp:AdRotator ID="ad" runat="server" Target="_blank"
AdvertisementFile="ads.xml" OnAdCreated="ad_AdCreated" />,
在网面中显示出来后,点击总是跳转到
http://localhost/ads/%20%20%20%20%20%20http://www.oreilly.com/catalog/progvb2005/%20%20%20%20,而应该跳转到http://www.oreilly.com/catalog/progvb2005/%20%20%20%20才对,请教各位是什么问题?
...全文
457 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
prog_4321 2011-04-19
  • 打赏
  • 举报
回复
net_lover:
果然像你所说的,不愧是高手,这个错误都能被你找出来.
孟子E章 2011-04-16
  • 打赏
  • 举报
回复
原因是这样的:你的xml 文件里面 NavigateUrl节点有空格

改成这样的就可以了
<NavigateUrl>http://www.oreilly.com/catalog/progaspdotnet2/index.html</NavigateUrl>
子夜__ 2011-04-15
  • 打赏
  • 举报
回复
http://localhost/ads/%20%20%20%20%20%20多余

或者
head节点加 base 元素控制
 <base href='<%= this.Request.Url.Scheme + "://" + this.Request.Url.Host + ":" + this.Request.Url.Port + this.Request.ApplicationPath +"/"%>' />
孟子E章 2011-04-15
  • 打赏
  • 举报
回复
ads.xml怎么写的?OnAdCreated="ad_AdCreated"里面干了什么事情?
yb00k 2011-04-15
  • 打赏
  • 举报
回复
ads.xml 路径 你写死 http://www.oreilly.com/catalog/progvb2005/%
或者加一个 ~在你的路径前面
prog_4321 2011-04-15
  • 打赏
  • 举报
回复
wxr0323:
你说的head节点加 base 元素控制没用啊,还是有http://localhost/ads/%20%20%20%20%20%20多余
prog_4321 2011-04-15
  • 打赏
  • 举报
回复
// ads.xml
<?xml version="1.0" encoding="utf-8" ?>

<Advertisements>
<Ad>
<ImageUrl>ProgAspNet.gif</ImageUrl>
<NavigateUrl>
http://www.oreilly.com/catalog/progaspdotnet2/index.html
</NavigateUrl>
<AlternateText>Programming ASP.NET</AlternateText>
<Keyword>Web</Keyword>
<Impressions>50</Impressions>
<Animal>stingray</Animal>
</Ad>

<Ad>
<ImageUrl>WinApps.gif</ImageUrl>
<NavigateUrl>
http://www.oreilly.com/catalog/pnetwinaps/index.html
</NavigateUrl>
<AlternateText>Programming .NET Windows Applications</AlternateText>
<Keyword>Windows</Keyword>
<Impressions>40</Impressions>
<Animal>darter</Animal>
</Ad>

<Ad>
<ImageUrl>ProgCSharp.gif</ImageUrl>
<NavigateUrl>
http://www.oreilly.com/catalog/progcsharp4/
</NavigateUrl>
<AlternateText>Programming C#</AlternateText>
<Keyword>Language</Keyword>
<Impressions>40</Impressions>
<Animal>African Crowned Crane</Animal>
</Ad>

<Ad>
<ImageUrl>ProgVB.gif</ImageUrl>
<NavigateUrl>
http://www.oreilly.com/catalog/progvb2005/
</NavigateUrl>
<AlternateText>Programming Visual Basic 2005</AlternateText>
<Keyword>Language</Keyword>
<Impressions>30</Impressions>
<Animal>catfish</Animal>
</Ad>

</Advertisements>
prog_4321 2011-04-15
  • 打赏
  • 举报
回复
整个程序是这样的:
// Default.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_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>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>
AdRotator Control</h1>
<br />
<asp:AdRotator ID="ad" runat="server" AdvertisementFile="~/ads.xml" OnAdCreated="ad_AdCreated"
Target="_blank" />
<br />
<asp:Label ID="lblAnimal" runat="server"></asp:Label></div>
</form>
</body>
</html>

// Default.aspx.cs:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void ad_AdCreated(object sender, AdCreatedEventArgs e)
{
if ((string)e.AdProperties["Animial"] != "")
lblAnimal.Text = (string)e.AdProperties["Animal"];
else
lblAnimal.Text = "n.a.";

}
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧