0

私の.aspxファイルの1つに存在する次のコードをPFBします。ボタンを追加し、コード ビハインドにメソッドを追加しました。デバッガーにプロセスをアタッチしましたが、ボタン クリック イベントが発生しません。アプリケーションの残りの部分はすべて正常に動作していますが、この画面でのみサーバー側でイベントがトリガーされません。onClientClick イベントを追加すると、発生します。

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Site2.Master" AutoEventWireup="true"
CodeBehind="AdminPage.aspx.cs" Inherits="RoomBook.Views.AdminPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script language="javascript" type="text/javascript">
    $(function () {
        var allPanels = $('.accordion > dd').hide(1000);
        $('.accordion > dt > a').click(function () {
            allPanels.slideUp();
            $(this).parent().next().show(1000);
        });
        return false;
    });

</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ScriptManager runat="server">
</asp:ScriptManager>
<dl class="accordion">
    <dt><a href="#">Modify / Delete Room</a></dt>
    <dd>
        <asp:UpdatePanel runat="server">
            <ContentTemplate>
                <label id="roomNumber0" class="itemLeft">
                    Room Name
                </label>
                <asp:DropDownList class="inputTextRoom" ID="ddRoomName" runat="server">
                </asp:DropDownList>
                <br />
                <label id="Label1" class="itemLeft">
                    Status</label>
                <asp:RadioButtonList class="radioButton" ID="rbStatus" runat="server">
                    <asp:ListItem Text="Active"></asp:ListItem>
                    <asp:ListItem Text="Deactive"></asp:ListItem>
                </asp:RadioButtonList>
                <asp:Button ID="btnModify" runat="server" Text="Button" OnClick="btnModify_Click" />
            </ContentTemplate>
        </asp:UpdatePanel>
    </dd>
</dl>
</asp:Content>

メソッド定義の背後にあるコードは次のとおりです。

    protected void btnModify_Click(object sender, EventArgs e)
    {

        RoomDomain roomdomain = new RoomDomain();
        string userName = (WindowsIdentity.GetCurrent().Name.ToString().Split('\\'))[1];

        if (!(ddRoomName.SelectedIndex == 0))
        {
            roomdomain.RoomName = ddRoomName.SelectedItem.Value;

            if (rbStatus.SelectedItem.Value == "Active")
            {
                roomdomain.IsActive = true;
            }
            else
            {
                roomdomain.IsActive = false;
            }
            adminPage.ModifyExistingRoom(roomdomain, userName);
        }

    }

ページにいくつかのボタンを追加しようとしましたが、どれも機能しません。プロセスをアタッチすると、ボタンのクリックではなく、他のイベントでブレークポイントがヒットします。このコードで私が犯した失敗について何か提案はありますか?

4

4 に答える 4

0

あなたが使用することができます

<asp:AsyncPostBackTrigger ControlID="btnModify" />
于 2013-07-08T15:18:11.150 に答える
0
<asp:Button ID="btnModify" runat="server" Text="Button" OnClick="btnModify_Click" UseSubmitBehavior="false"/>

ボタンは UpdatePanel 内にあるため、ブラウザーのフォーム送信の代わりにポストバック メカニズムを使用するように変更します。

Button.UseSubmitBehavior プロパティ

于 2013-07-08T16:54:43.507 に答える