1

<ItemTemplate>GridView内にボタンがありOnClientClick、そのボタンの上のjavascript関数を呼び出して、javascript関数のパラメーターとしてDataItem値を渡します。

<ItemTemplate>
    // Labels and Html styles
    ....
    <asp:Button ID="btnEdit" runat="server" Text="Edit" OnClientClick='javascript:CreateEditAddress(<%#Bind("Id") %>);' />
    <asp:Button ID="btnDelete" runat="server" Text="Delete" />
</ItemTemplate>

これにパラメータを入れない場合はCreateEditAddess()うまくいきますが、パラメータが必要です。

OnClientClickイベント値をグリッドビューのOnRowDataBoundイベントに入れることができることは知っていますが、CodeBehindには入れたくありません。サーバータグが正しく解析されていないようです。

ここで何かが足りませんか?

4

2 に答える 2

1

これを参照してください:

ハイパーリンク列を含むグリッドビューの読み込み

私はあなたが使うべきだと思いますDataBinder.Eval(Container, "DataItem.YourProperty")

于 2010-08-13T03:53:45.183 に答える
1

次のようにすることもできます。

<asp:TemplateField HeaderText="Link"> 
  <ItemTemplate> 
      <asp:HyperLink runat="server" ID="HLink" 
          Text='<%# Eval("FirstName").ToString() + " " + Eval("LastName").ToString()%>' 
          NavigateUrl='<%# "javascript:OpenPopup(" + "&#39;" + Eval("EmpId") + "&#39;);"   %> ' />
  </ItemTemplate> 
</asp:TemplateField>

これは、1つ以上の変数をjavascript関数に渡す必要がある場合に役立ちます。

于 2014-07-14T09:00:19.137 に答える