【问题标题】:Passing asp.net databound object parameter to javascript将 asp.net 数据绑定对象参数传递给 javascript
【发布时间】:2014-05-21 03:52:44
【问题描述】:

我在转发器中有一个 asp 超链接。我想从 Nagivate Url 调用一些 javascript 并将数据绑定对象的属性传递给 js 函数。

<asp:Repeater id="repRecentDocuments" runat="server">
    <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="javascript:getRecentDoc('<%# ((RecentDocs)Container.DataItem).link %>')" Text='<%# ((RecentDocs)Container.DataItem).name %>' />
    </ItemTemplate>
</asp:Repeater>
<asp:Button id="btnGetRecent" runat="server" style="display:none" OnClick="GetRecentDocument" />

但是属性没有解析,这是传入的变量的值。

<%# ((RecentDocs)Container.DataItem).link %> 

有什么建议吗?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    尝试在 Repeater 上使用 OnItemDataBound 事件并使用如下事件处理程序

        <asp:Repeater id="repRecentDocuments" runat="server" OnItemDataBound="RepRecentDocumentsOnItemDataBound">
    <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" runat="server"  />
    </ItemTemplate>
    

    protected void RepRecentDocumentsOnItemDataBound(object sender, RepeaterItemEventArgs e){
    if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem) return;
    var doc= (RecentDocs) e.Item.DataItem;
    var hlink= (HyperLink ) item.FindControl("HyperLink1");    
    hlink.NavigateUrl= string.Format("javascript:getRecentDoc('{0}')",doc.link);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 2016-09-03
      • 2017-08-25
      • 1970-01-01
      相关资源
      最近更新 更多