0

ImageButtonからコントロールパラメーターに値を渡そうとすると問題が発生します。その後、updateコマンドでコントロールパラメーターから値を取得してupdateステートメントを実行できます。

ImageButtonAPPROVEがクリックされたときに値Status=1を渡したい、またはImageButtonREJECTがクリックされたときに値Status=2を渡したい。

どこでどのように値ステータスを割り当てる必要がありますか?コードを実行すると、次のエラーが発生します。スカラー変数「@Status」を宣言する必要があります。

または、ステータスの値を渡すための推奨事項はありますか?

私のImageButton:

<ItemTemplate>
<asp:ImageButton runat="server" ID="APPROVE" CommandName="update" 
ImageUrl="~/images/accept.png"
OnClientClick="if (!window.confirm('Are you sure you want to approve this booking?')) return false;" />
</ItemTemplate>


<ItemTemplate>
<asp:ImageButton runat="server" ID="REJECT" CommandName="update"
ImageUrl="~/images/reject.png"
OnClientClick="if (!window.confirm('Are you sure you want to reject this booking?')) return false;" />
</ItemTemplate>

私のUPDATEステートメント

UpdateCommand="UPDATE [bookingschedule] SET status=@Status WHERE [bookingScheduleID] = @bookingScheduleID"

私のControlParameter

<UpdateParameters>                            
<asp:Parameter Name="bookingScheduleID" Type="Int32" />
<asp:ControlParameter Name="Status" ControlID="APPROVE"  Type="Int32" />
<asp:ControlParameter Name="Status" ControlID="REJECT"  Type="Int32" />
</UpdateParameters>
4

2 に答える 2

0

ボタンには html の値がないため、ControlParameter 宣言では使用できません。1 つの解決策は、フォーム上に非表示のテキスト ボックスを作成することです。「StatusType」としましょう。

<input type="hidden" name="StatusType" value="0">

ここで、各ボタンの「OnClientClick」で; StatusType の値を 1 または 2 (または定義したステータス コード) に割り当てます。

OnClientClick="if (!window.confirm('Are you sure you want to reject this booking?')) {
    return;
}
else {
    $('#StatusType').val(0);
}"

次に、ControlParameter で「StatusType」を使用します。

<asp:ControlParameter Name="Status" ControlID="StatusType"  Type="Int32" />
于 2012-06-13T06:25:29.163 に答える
0

ImageButton のCommandArgument プロパティを使用してみましたか?

MSDN から:

場合によっては、複数の ImageButton コントロールが関連しており、Sort などの CommandName プロパティの同じ値を共有しています。このプロパティを使用して、昇順など、実行するコマンドに関する追加情報で CommandName プロパティを補足します。CommandName プロパティと CommandArgument プロパティの値は、通常、OnCommand イベント ハンドラーで使用され、ImageButton コントロールがクリックされたときに実行するアクションを決定します。

<asp:ImageButton id="imagebutton1" runat="server"
       AlternateText="Sort Ascending"
       ImageUrl="images/pict.jpg"
       OnCommand="ImageButton_Command"
       CommandName="Sort"
       CommandArgument="Ascending"/>
于 2012-06-13T06:40:27.403 に答える