0

radgridview columnn 内に ImageButton をビルドしています。以下のように定義されています。

<asp:ImageButton ID="ImageButton_DeleteRun" ImageUrl="~/Assets/Images/Misc/delete.png"
runat="server" OnClick="QueryDelete" CommandName="QueryDelete" 
CommandArgument='<%# DataBinder.Eval(Container,"DataItem.QueryGuid") %>'
Width="10" Height="10" />

正常に読み込まれます。それをクリックすると、次のコードビハインド メソッドにヒットすることが予想されます。

protected void QueryDelete(object sender, EventArgs e)
{
/* A bunch of code*/
}

そこにたどり着くことはありません。さらにイライラするのは、ImageButton を

<asp:LinkButton ID="ImageButton_DeleteRun" Text="X"
runat="server" OnClick="QueryDelete" CommandName="QueryDelete" 
CommandArgument='<%# DataBinder.Eval(Container,"DataItem.QueryGuid") %>'/>

それは完全に機能します。ImageButton に何か問題がありますか? 何か不足していますか?

編集 - 新しい情報

基本的に、画像ボタンがレンダリングされるとき、href はありません。

変 -

<input type="image" style="height: 10px; width: 10px; border-width: 0px;" src="../Assets/Images/Misc/delete.jpg"
id="ctl00_ctl00_ctl00_AllContent_MainContent_MainContent_controlPanelQueryHistory_saved_RadGridQueryHistory_ctl00_ctl04_ImageButton1"
name="ctl00$ctl00$ctl00$AllContent$MainContent$MainContent$controlPanelQueryHistory_saved$RadGridQueryHistory$ctl00$ctl04$ImageButton1"/>

<a
href="javascript:__doPostBack('ctl00$ctl00$ctl00$AllContent$MainContent$MainContent$controlPanelQueryHistory_saved$RadGridQueryHistory$ctl00$ctl04$ImageButton_DeleteRun','')"
id="ctl00_ctl00_ctl00_AllContent_MainContent_MainContent_controlPanelQueryHistory_saved_RadGridQueryHistory_ctl00_ctl04_ImageButton_DeleteRun">delete</a>
4

6 に答える 6

4

回避策として、LinkBut​​ton 内に画像をラップしてみてください。

<asp:LinkButton ID="ImageButton_DeleteRun" Text="X"
runat="server" OnClick="QueryDelete" CommandName="QueryDelete" 
CommandArgument='<%# DataBinder.Eval(Container,"DataItem.QueryGuid") %>'>
    <img src="~/Assets/Images/Misc/delete.png" /> 
</asp:LinkButton>
于 2009-11-13T03:55:57.060 に答える
0

OnClick でコマンド引数を取得するにはどうすればよいですか? EventArgs があります。OnCommand ハンドラーには、CommandName と CommandArguments を含む CommandEventArgs があります。

protected void image_Command(object sender, CommandEventArgs e)
{
}

OnCommand を使用することは理にかなっています。

于 2009-11-13T02:17:21.253 に答える
0

両方のリンク タイプをページに配置し、結果のページで [ソースを表示] をクリックします。これにより、何が起こっているかについての手がかりが得られる場合があります。ImageButtonJavaScript や CSS が混乱している方法で をレンダリングしている可能性があります。

于 2009-11-13T00:05:30.963 に答える
0

ばかげた質問ですが、ImageUrl は有効な画像または red-x をレンダリングしていますか?

于 2009-11-12T23:49:38.663 に答える
0

おそらくページは検証中ですか?その場合は、CausesValidation=false を ImageButton に追加してみてください。

于 2009-11-12T23:39:03.390 に答える
0

OnClick を OnCommand に置き換えて、問題が解決するかどうかを確認してください。

于 2009-11-12T23:44:34.677 に答える