Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 具有多个变量的ListView评估项模板_Asp.net_.net_Listview_Data Binding - Fatal编程技术网

Asp.net 具有多个变量的ListView评估项模板

Asp.net 具有多个变量的ListView评估项模板,asp.net,.net,listview,data-binding,Asp.net,.net,Listview,Data Binding,我试图打印出一行,其中包含ListView控制器项模板中的图像标记。我尝试过多种方法,但都没有成功 <ItemTemplate> <tr id="itemTemplate" runat="server"> <td> <asp:Literal ID="litImg" runat="server" Text='<%= "<img src="" & PathtoImg & "ProcessImage.aspx

我试图打印出一行,其中包含ListView控制器项模板中的图像标记。我尝试过多种方法,但都没有成功

<ItemTemplate>
  <tr id="itemTemplate" runat="server">
    <td>
      <asp:Literal ID="litImg" runat="server" Text='<%= "<img src="" & PathtoImg & "ProcessImage.aspx?Img=" & Eval("Img") & "&amp;PID="Resize"" alt=""ProductID"" />")))) %>' />
     </td>
     <td>
         <asp:Literal ID="litID" runat="server" Text='<%# Eval("Department") %>' />
     </td>
    </tr>
</ItemTemplate>

第一个eval不起作用(有点像集群),第二个简单的行起作用。 它不会出错,但会显示

显然,这是行不通的

<img src="<%= PathtoImg %>ProcessImage.aspx?Img=<%= Eval("Img")%>&amp;PID=Resize" alt="ProductID" />
ProcessImage.aspx?Img=&;PID=Resize“alt=”ProductID“/>
因为它给出了错误

诸如Eval()、XPath()和Bind()之类的数据绑定方法只能是 在数据绑定控件的上下文中使用。"


这是我第一次使用Listview,我对这些模板非常不熟悉。我想要的-在图像标记的src中显示带有服务器变量的数据项-可能吗?

使用代码隐藏函数或runat=“server”您的HTML控件:

标记:

<ItemTemplate>
  <tr id="itemTemplate" runat="server">
    <td>
       <asp:Image id="Image1" runat="server" 
                    ImageUrl="<% GetImageUrl(Eval("Img"), PathToImg))%>"/>
     </td>   
    </tr>
</ItemTemplate>
protected string GetImageUrl(object img, string pathToImg)
{
     //example business logic, change for your needs
     //build your url etc....
     string imgPathFromDb = (string)img;

     return PathToImg + imgPathFromDb; 

}
其他选择:

<img runat="server" src="<%# PathtoImg %>ProcessImage.aspx?Img=<%# Eval("Img")%>&amp;PID=Resize" alt="ProductID" />
ProcessImage.aspx?Img=&;PID=Resize“alt=”ProductID“/>

叹气……请告诉我这没那么容易。去试试这个,我会让你知道它是否有效。我有时会很胖,但我最终还是成功了。我基本上在codebehind中构建了整个图像标记,并这样调用它:使用图像标记和发送src都不起作用。非常感谢。