0

我有一个网格视图。它的数据源是从数据库加载的数据表。在这个 gridview 中,我有一个模板列。

<asp:TemplateField HeaderText="Product Type" SortExpression="ProductID">
                                        <ItemStyle CssClass="MP-table-tb-display-item" />
                                        <ItemTemplate>
                                            <div class="MP-table-tb-display-main">
                                                <asp:LinkButton ID="lnkview" CommandArgument='<%# Eval("ProductID") %>' CommandName="Viewproduct"
                                                    runat="server" CausesValidation="False" OnClick="lnkview_Click"><h4>
                                        <%# Eval("Name") %>
                                    </h4>
                                                </asp:LinkButton>
                                            </div>
                                            <br />
                                            <div class="MP-table-tb-display">
                                                <p>
                                                    <span>KEY</span><%# Eval("[product_type_key]") %></p>
                                                <br />

                                                <a target="_blank" href='<%# Eval("SourceURL") %>'>Source</a>
                                            </div>
                                        </ItemTemplate>
                                    </asp:TemplateField>

在此我希望 Source 超链接仅在数据可用于<%# Eval("SourceURL") %>. 如果我无法将 SourceURL 值放入RowDatabound Event. 请指导我。

我也计划这样做,但这不能正常工作。

<a target="_blank" href=' <%= Eval("SourceURL")!=null ? Eval("SourceURL") : "style='display: none'" %> />'>  Source</a>
4

2 回答 2

3

改用这个

<asp:hyperlink  Target="_blank"  NavigateUrl='<%# Eval("SourceURL") %>' Visible = '<%# Eval("SourceURL") == null ? false : true %>' >

同样,您可以使用<a>标签来控制其可见性。if 条件将进入 Style 属性而不是 href 属性。像这样的东西

Style=display:Eval('some_val') == null ? none : block
于 2012-12-18T06:56:36.250 回答
1

试试这个 :

<a target="_blank" href='<%#(String.IsNullOrEmpty(Eval("SourceURL").ToString()) ? "" : Eval("SourceURL"))'%> style='display: none'>Source</a>

谢谢

于 2012-12-18T07:02:54.833 回答