我的ASP.NET的Repeater标签有问题。它很简单 页面运行时不生成html代码。我尝试着 使用它来生成幻灯片的标签列表,这里是 asp代码:
<asp:Repeater id="foto" runat="server">
<ItemTemplate>
<img src='<%# (string)Container.DataItem %>'/>
</ItemTemplate>
</asp:Repeater>
这是背后的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
int num = Directory.GetFiles(@"C:\Users\Paolo\Desktop\Podisti\Slideshow\" + Request.QueryString["Cartella"]).Length;
List<string> elencoUrl = new List<string>();
for (int i = 1; i <= num; i++)
elencoUrl.Add(@"Slideshow\" + Request.QueryString["Cartella"] + "00" + i + "_jpg.jpg");
foto.DataSource = elencoUrl; //può essere ad esempio un Array o una List di stringhe
foto.DataBind();
}
}
编辑: 感谢您的回答,即使它不是问题的解决方案:页面 我创建的只是一个测试,点击2个链接按钮,重定向 使用不同的查询字符串到同一页面,以便转发器可以 每次为img标记创建不同的src属性。回发就在这里 只是为了防止第一次加载页面时出错(查询字符串为null), 当我解决这个问题时,我会改变它。
如果我检查页面的代码,主要问题是转发器不能正常工作 在执行期间:
<div style="width:500px;height:400px">
<div class="fotorama">
/*The repeater doesn't create the <img> tags*/
</div>
</div>
答案 0 :(得分:3)
if (IsPostBack)
表示只有在您刚回发页面时才会执行代码,但您可能希望将其显示为默认值,而不是在回发期间。将其修复为:
if (!IsPostBack)
如果是这样的话。
此外,您永远不应该尝试访问您的网络应用程序文件夹以获取文件夹/文件,因为那些在服务器上无法访问的文件夹/文件。永远不要硬编码这样的路径!