2015-05-26 52 views
0

我想在需要使用RowID作为参数的超链接上调用我的js函数,我无法做到这一点!在超链接上使用参数调用Js函数

我尝试了很多方法,但总是得到空值。

我该如何做到这一点?

<script> 
     var popUpObj; 

     function RowClick(filterId) { 

      popUpObj = window.open("voucher.aspx?param=" + filterId + "", 
      "ModalPopUp", 
      "toolbar=no," + 
      "scrollbars=no," + 
      "location=no," + 
      "statusbar=no," + 
      "menubar=no," + 
      "resizable=0," + 
      "width=530," + 
      "height=500," + 
      "left = 450," + 
      "top=130" 
      ); 
      popUpObj.focus(); 
      LoadModalDiv(); 


     } 
    </script> 



<MasterTableView ClientDataKeyNames="RowID" AllowPaging="True" AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True" CommandItemDisplay="Top" DataKeyNames="RowID" AllowCustomPaging="False" AutoGenerateColumns="False" AllowMultiColumnSorting="True" > 
      <Columns> 
       <telerik:GridBoundColumn DataField="RowID" DataType="System.Int32" FilterControlAltText="Filter RowID column" HeaderText="RowID" ReadOnly="True" SortExpression="RowID" UniqueName="RowID" Visible="False"> 
       </telerik:GridBoundColumn> 

    <telerik:GridTemplateColumn FilterControlAltText="Filter RowID column" UniqueName="RowID" > 
         <ItemTemplate> 
          <asp:HyperLink runat="server" NavigateUrl="javascript:RowClick()" Text="Add voucher link"></asp:HyperLink> 

          </ItemTemplate> 
        </telerik:GridTemplateColumn> 
+0

你调用''javascript:RowClick()“'没有参数,所以确定你有'filterId'参数_undefined_。你如何尝试传递参数? – Grundy

+0

是的javascript:RowClick(RowID)仍然是null – marios

+0

你在哪里得到'RowID'? – Grundy

回答

0

对于改正错误的服务器标记的格式不正确的错误你应该使用单引号的属性值,并进行导航网址内结合

<asp:HyperLink runat="server" NavigateUrl='<%# string.Format("javascript:RowClick({0})",Eval("RowID"))%>' Text="Add voucher link"></asp:HyperLink> 

但如果当你需要简单的链接,记错更好地利用刚刚一个标签,像

<a href="javascript:RowClick('<%# Eval("RowID") %>')" >Add voucher link</a> 

在我看来,它很容易和更具可读性

1

使用LinkBut​​ton而不是HyperLink。见下面的例子。

<asp:LinkButton ID="btn" Text="Add voucher link" runat="server" 
OnClientClick='<%# "RowClick(" + Eval("RowID") + "); return false;" %>'></asp:LinkButton> 
+0

未捕获的SyntaxError:意外的令牌< – marios

+0

编辑了LinkBut​​toncontrol。使用该示例作为指导。 – jomargon

+0

still:未捕获ReferenceError:filterId未定义 – marios