【问题标题】:The server tag is not well formed - hyperlink databound服务器标签格式不正确 - 超链接数据绑定
【发布时间】:2013-12-26 08:48:50
【问题描述】:

我的超链接有格式问题,它与文本部分一起工作正常,所以我知道这是 JavaScript 的问题,但不知道问题是什么。

<asp:TemplateField>
    <ItemTemplate>
        <asp:HyperLink ID="hypCustType" runat="server" 
            Text='<%# DataBinder.Eval(Container.DataItem, "CustType") %>'
            NavigateUrl="javascript:sendval('<%# DataBinder.Eval(Container.DataItem, "CustType") %>');">
        </asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>

【问题讨论】:

    标签: c# javascript asp.net webforms


    【解决方案1】:

    '问题是,你已经关闭了 NavigateUrl 属性中的字符串。您应该在内联代码中使用'\" 来不结束字符串。 所以你应该试试这个:

    <asp:TemplateField>
        <ItemTemplate>
            <asp:HyperLink ID="hypCustType" runat="server" 
                Text='<%# DataBinder.Eval(Container.DataItem, "CustType") %>'
                NavigateUrl="javascript:sendval('<%# DataBinder.Eval(Container.DataItem, \'CustType\') %>');">
            </asp:HyperLink>
        </ItemTemplate>
    </asp:TemplateField>
    

    【讨论】:

      【解决方案2】:

      用普通的html标签链接替换asp:hyperlink:

      <a href="javascript:sendval('<%# DataBinder.Eval(Container.DataItem, "CustType") %>');">
                  <%# DataBinder.Eval(Container.DataItem, "CustType") %>'</a>
      

      【讨论】:

        【解决方案3】:

        试试这样:

        <asp:HyperLink ID="hypCustType" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "CustType") %>' NavigateUrl='<%# "javascript:sendval(\"" + DataBinder.Eval(Container.DataItem, "CustType") + "\");" %>'></asp:HyperLink>
        

        【讨论】:

          猜你喜欢
          • 2020-04-01
          • 1970-01-01
          • 2010-10-15
          • 2012-12-14
          • 1970-01-01
          • 2014-08-17
          相关资源
          最近更新 更多