ASP.NET Listview隐藏字段值为空onselect

时间:2012-08-03 14:42:36

标签: asp.net vb.net listview

我搜索了很多问题,阅读了很多解决方案,但仍未找到解决我正在努力解决的问题的解决方案: 我的列表视图显示了目录中的一些图片,但有时我忘了旋转图片,我想要一个按钮来选择一个项目然后一个按钮来旋转显示的图片。但我无法解析保存URL值的2个隐藏字段中的值。我得到起始值而不是评估值:

Dim URLorg As HiddenField = TryCast(FotoListView.Items(FotoListView.SelectedIndex).FindControl("URLorigineel"), HiddenField)

URLorg.value给出&gt;&gt; “../<%#Eval("URLorigineel”)%&gt;“

来源:

<asp:ListView runat="server" ID="FotoListView"    ItemPlaceholderID="PlaceHolder3"     DataSourceId='odsAvailableFotos' DataKeyNames="ID">
    <LayoutTemplate>
        <ul>
            <div style="overflow:scroll; height:380px;">                                             <asp:PlaceHolder runat="server" ID="PlaceHolder3" /> 
            </div> 
        </ul>
    </LayoutTemplate>
    <ItemTemplate>
        <li>
            <hr />
            <asp:LinkButton runat="server" ID="LinkButton1" Text="Select" CommandName="Select" BackColor="#33CCFF" BorderColor="#003399" Width="70"  CssClass="PhotoEditBtn" Height="15" />  
            <a href='../<%# Eval("URLorigineel") %>' target="_blank" id="ImageRef"><%# Eval("Caption")%><br />
                <img src='../<%# Eval("URL") %>' alt="Click to see image"  class="Rounded_image_sample" id="ImgSource" />
            </a> 
            <asp:HiddenField ID="URL" runat="server" Value='../<%# Eval("URL") %>' />
            <asp:HiddenField ID="URLorigineel" runat="server" Value='../<%# Eval("URLorigineel") %>' />
        </li>
    </ItemTemplate>
    <SelectedItemTemplate>
        <li>
            <hr />
            <asp:LinkButton runat="server" ID="LinkButton1" Text="Delete" CommandName="Delete" BackColor="#33CCFF" BorderColor="#003399" Width="70"  CssClass="PhotoEditBtn" Height="15" />  
            <asp:Label ID="dummy1" runat="server" text="     " />
            <asp:LinkButton runat="server" ID="LinkButton2" Text="Rotate" CommandName="Rotate" CssClass="PhotoEditBtn" BackColor="#33CC33" Width="70" Height="15" /> 
            <asp:LinkButton runat="server" ID="LinkButton3" Text="Cancel" CommandName="ANnuleer" CssClass="PhotoEditBtn" BackColor="#33CC33" Width="70" Height="15" />
            <br />
            <a href='../<%# Eval("URLorigineel") %>' target="_blank" id="ImageRef"><%# Eval("Caption")%><br />
                <img src='../<%# Eval("URL") %>' alt="Click to see image"  class="Rounded_image_sample" id="ImgSource" />
            </a> 
            <asp:HiddenField ID="URL" runat="server"  Value='../<%# Eval("URL") %>' />
            <asp:HiddenField ID="URLorigineel" runat="server" Value='../<%# Eval("URLorigineel") %>' />
        </li>
    </SelectedItemTemplate>

</asp:ListView>

2 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码

Value='<%# string.Format("{0}{1}",'../',Eval("URL")) %>' 

Result :  <asp:HiddenField ID="URL" runat="server" Value='<%# string.Format("{0}{1}",'../',Eval("URL")) %>'  />

答案 1 :(得分:0)

我找到了解决方案。 在Listview headertag中有一个字段“DataKeyNames =”,您可以在需要时设置和引用该字段。 在我的情况下,这足以使服务器端功能起作用。

感谢