2010-07-11 54 views
0

我有这样的代码如何将asp.net值传递给javascript函数?

<asp:GridView ID="gvCentersList" runat="server" AutoGenerateColumns="False" 
      DataKeyNames="CenterID" DataSourceID="SqlDataSource1" CssClass="gv-classic"> 
<Columns> 
    <asp:TemplateField HeaderText=""> 
     <ItemTemplate> 
       <asp:CheckBox ID="GridCheckBox" runat="server" onclick="javascript:func1150(this,<%#response.write(CenterID)%>);" /> 
      </ItemTemplate> 
    </asp:TemplateField> 
    <asp:BoundField DataField="CenterID" HeaderText="CenterID" SortExpression="CenterID" /> 
    <asp:BoundField DataField="CenterName" HeaderText="CenterName" SortExpression="CenterName" />            
</Columns></asp:GridView><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" SelectCommand="SELECT ROW_NUMBER() OVER (ORDER BY CityName ASC) AS ROWID, * FROM [CentersList]"></asp:SqlDataSource> 

我在这一行

onclick="javascript:func1150(this,<%=CenterID%>);" 

我怎么能传递CenterID到func1150问题?

回答

0

你可以试试这样:

<asp:CheckBox 
    ID="GridCheckBox" 
    runat="server" 
    onclick='<%# string.Format("javascript:func1150(this, \"{0}\")", Eval("CenterID")) %>' 
/> 

但是你真的在这里需要一个服务器端的复选框?如果不是这样可以更易读:

<input 
    type="checkbox" 
    onclick="javascript:func1150(this, '<%# Eval("CenterID") %>');" 
/> 
+0

Fisrt代码是正确的, 谢谢达林 – Raed 2010-07-11 07:26:42

0

我从你的问题的理解,

onclick=javascript:func1150(this,'<%# Eval("CenterID")%>'); 

一种更好的方式将从代码后面加onclick属性。

+0

不幸的是,Centerid不会是标签的ID。你需要通过clientid的网格来获得生成的html标记的ID – 2010-07-11 07:06:38

+0

不工作, 谢谢 – Raed 2010-07-11 07:27:01