私はC#/ asp.netでWebプロジェクトを持っています。私はそれにコード化されたボタンを持っているGridViewとUserControlを持っています。ボタンにはOnClickイベントがあり、その結果、別のページにリダイレクトされます。この時点で、何度ボタンを押しても、onclickイベントは発生しません。しかし、ユーザーコントロール(コードの後ろにイベントがある)を使用しているページにボタンをハードコードすると、onclickイベントは正常に機能します。UserControl OnClickイベントは発生しません
また、UserControlのGridViewの外にボタンを移動すると、正常に動作します。しかし、私はスペースが限られており、ページの下部にあるポケットベルバーに配置する必要があります。背後に
<PagerTemplate>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td align="left" valign="middle">
<asp:Panel cssClass="PagerPanel" runat="server">
<asp:Button ID="FirstButton" runat="server" OnClick="FirstButton_Click" Text="|<" Enabled="<%# (_gridView.PageIndex > 0) %>" />
<asp:Button ID="PrevButton" runat="server" OnClick="PrevButton_Click" Text="<" Enabled="<%# (_gridView.PageIndex > 0) %>" />
<%# _gridView.PageIndex+1 %> of <%# _gridView.PageCount %>
<asp:Button ID="NextButton" runat="server" OnClick="NextButton_Click" Text=">" Enabled="<%# (_gridView.PageIndex < _gridView.PageCount-1) %>" />
<asp:Button ID="LastButton" runat="server" OnClick="LastButton_Click" Text=">|" Enabled="<%# (_gridView.PageIndex < _gridView.PageCount-1) %>" />
</asp:Panel>
</td>
<td>
<asp:Button ID="Button1" OnClick="AddButton_Click" runat="server"
Text="Button" />
</td>
</tr>
</table>
</PagerTemplate>
ユーザーコントロールコード:
protected void AddButton_Click(object sender, EventArgs e)
{
Response.Redirect("thisurl...");
}
私は、このクリックイベントを処理するために行うことができますほかに何かわかりません。どうやらGridViewは何とか発射を止めています。とにかくUserControlのGridViewがonclickイベントを処理するボタンを持つことができますか?
おかげ@Brady!それはまさに私ですグリッドビューには "OnRowCommand =" GridView_RowCommand "というプロパティが追加され、うまくいきました! – ImGreg
これはほぼ完璧に機能しました。CommandNameとCommandArgumentは設定した内容に関係なく毎回「編集」と「-1」これを回避する方法はありますか?リダイレクトする場所を知るために、どのボタンが押されたかを一意に識別する方法が必要です。 – ImGreg
それは変です。 gridviewのAutoGenerateEditButtonプロパティがtrueに設定されていないことを確認します。それでも動作させることができないのであれば、グリッドビューのボタンを使って素早く汚れたウェブサイトを作成し、それを動作させることができます。次に、排除のプロセスによって、何が起こっているのか把握することができます。あなたのグリッドビューに干渉しているものがいくつかあるかもしれません。 – Brady