这是我的中继器
<asp:Repeater ID="blogRepeater" runat="server">
<ItemTemplate>
<br />
<asp:Image ID="Image1" runat="server" Height="56px" ImageUrl='<%= string.Format( My_Variable) %>' Width="64px" />
<asp:HyperLink ID="HyperLink2" runat=server NavigateUrl='<%#Eval("Company_ID", "CompanyProfile.aspx?ID={0}")%>'><%#Eval("Name")%></asp:HyperLink>
<br />
</ItemTemplate>
<SeparatorTemplate>
<hr />
</SeparatorTemplate>
</asp:Repeater>
这是我在页面加载中的代码
' Define data objects
Dim conn As Data.SqlClient.SqlConnection
Dim Comm As Data.SqlClient.SqlCommand
Dim reader As Data.SqlClient.SqlDataReader
conn = New Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
Comm = New Data.SqlClient.SqlCommand( _
("SELECT Company_ID, Name FROM CompanyTable ORDER BY Name"), conn)
Dim My_Variable As String
My_Variable = "~/createthumb.ashx?gu=/images/Logo.bmp" + "&xmax=75&ymax=75"
' Open the connection
conn.Open()
' Execute the category command
reader = Comm.ExecuteReader()
' Bind the reader to the repeater.......................
blogRepeater.DataSource = reader
blogRepeater.DataBind()
' Close the reader
reader.Close()
' Close the connection
conn.Close()
现在我有一个名为My_Variable
的变量。如何将变量My_Variable
放在我的Repeater上面?
答案 0 :(得分:2)
通过这种方式,您可以将变量绑定到转发器:
<a href='<%= string.Format("CompanyProfile.aspx?ID={0}", My_Variable) %>'>
<%# Eval("Name") %>
</a>
编辑:您正在使用不需要服务器控件的静态控件。因此,您可以使用HTML元素和response.write作为全局变量:
<img id="Image1" style="height:56px;width:64px;" src='<%= My_Variable %>' />
答案 1 :(得分:1)
你真的没有代码隐藏中的db-code吗?这只是一个例子吗? 您的网站将在五分钟内被黑客攻击......
My_Variable必须声明为字段而不是函数中的局部变量。数据绑定也看不到私有字段。
哦,现在我看到你需要在每个项目上更改变量吗?
我建议您创建一个数据对象以包含来自db的数据,并在每个对象上设置所有相关数据,然后在列表中对转发器进行数据绑定。我意识到我应该在这里显示一些代码,但是我写了vb最后2年,所以无论如何它都会非常不准确。
答案 2 :(得分:1)
要设置图片网址,您必须使用数据绑定表达式。此外,您需要将变量“My_Variable”设为公共类成员。
<asp:Repeater ID="blogRepeater" runat="server">
<ItemTemplate>
<br />
<asp:Image ID="Image1" runat="server" Height="56px" ImageUrl='<%# My_Variable %>' Width="64px" />
<asp:HyperLink ID="HyperLink2" runat=server NavigateUrl='<%#Eval("Company_ID", "CompanyProfile.aspx?ID={0}")%>'><%#Eval("Name")%></asp:HyperLink>
<br />
</ItemTemplate>
<SeparatorTemplate>
<hr />
</SeparatorTemplate>
</asp:Repeater>
答案 3 :(得分:0)
您需要创建返回字符串的受保护方法,例如:
protected string GetCustomString(object MyVariable)
{
retun string.Format("<a href='{0}'>{0}</a>", MyVaraible.ToString());
}
您可以在此方法上生成HTML链接。 并在你的转发器中绑定它需要的方法。
<asp:Repeater ID="blogRepeater" runat="server">
<ItemTemplate>
<%# GetCustomString(Eval("My_Variable")) %>
<asp:HyperLink ID="HyperLink2" runat=server NavigateUrl='<%#Eval("My_Variable", "CompanyProfile.aspx?ID={0}")%>'><%#Eval("Name")%></asp:HyperLink>
<br />