2015-05-26 51 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