2

MultiViewを使用してマルチステップフォームを作成しています。次のボタンは最初のステップ(ViewOne)で機能しますが、次のステップ(ViewTwo)では次のボタンと戻るボタンの両方が何もしません。

以下のコードに手がかりがあるのか​​、もっと見る必要があるのか​​わかりませんか?...

 <asp:MultiView ID="MultiView2" runat="server" ActiveViewIndex="0">
 <asp:View ID="ViewOne" runat="server">
 </asp:View>
 <asp:View ID="ViewTwo" runat="server">
 </asp:View>
 </asp:MultiView>
 <asp:ImageButton ID="btnBack" runat="server" ImageUrl="/assets/back_button.jpg"  OnClick="btnBack_Click" /> 
 <asp:ImageButton ID="btnNext" runat="server" ImageUrl="/assets/next_button.gif" OnClick="btnNext_Click" />
 <asp:ImageButton ID="btnSubmit" runat="server" ImageUrl="/assets/submit_button.gif" OnClick="btnSend_Click" />

背後にあるコード....

protected void btnBack_Click(object sender, EventArgs e)
    {
        MultiView2.ActiveViewIndex--;
    }

    protected void btnNext_Click(object sender, EventArgs e)
    {
        MultiView2.ActiveViewIndex++;
    }

    protected void btnSend_Click(object sender, EventArgs e)
    {
        OnSubmitClicked(e);
    }

OKもっとコード...

protected override void OnLoad(EventArgs e)
{
        base.OnLoad(e);
     PopulateSomeField();
    }

protected override void OnPreRender(EventArgs e)
    {
        btnBack.Visible = MultiView2.ActiveViewIndex > 0;
        btnNext.Visible = MultiView2.ActiveViewIndex < MultiView2.Views.Count - 1;
        btnSubmit.Visible = MultiView2.ActiveViewIndex == MultiView2.Views.Count - 1;
        base.OnPreRender(e);
    }
4

1 に答える 1

2

そこにエラーはありません。それは私にとってはうまくいきます。

Test2.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test2.aspx.cs" Inherits="test2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:MultiView ID="MultiView2" runat="server" ActiveViewIndex="0">
         <asp:View ID="ViewOne" runat="server">
            One
         </asp:View>
         <asp:View ID="ViewTwo" runat="server">
            Two
         </asp:View>
         </asp:MultiView>
         <asp:ImageButton ID="btnBack" runat="server" ImageUrl="/assets/back_button.jpg"  OnClick="btnBack_Click" /> 
         <asp:ImageButton ID="btnNext" runat="server" ImageUrl="/assets/next_button.gif" OnClick="btnNext_Click" />
         <asp:ImageButton ID="btnSubmit" runat="server" ImageUrl="/assets/submit_button.gif" OnClick="btnSend_Click" />
    </div>
    </form>
</body>
</html>

Test2.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class test2 : System.Web.UI.Page
{
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        //PopulateSomeField();
    }

    protected override void OnPreRender(EventArgs e)
    {
        btnBack.Visible = MultiView2.ActiveViewIndex > 0;
        btnNext.Visible = MultiView2.ActiveViewIndex < MultiView2.Views.Count - 1;
        btnSubmit.Visible = MultiView2.ActiveViewIndex == MultiView2.Views.Count - 1;
        base.OnPreRender(e);
    }

    protected void btnBack_Click(object sender, EventArgs e)
    {
        MultiView2.ActiveViewIndex--;
    }

    protected void btnNext_Click(object sender, EventArgs e)
    {
        MultiView2.ActiveViewIndex++;
    }

    protected void btnSend_Click(object sender, EventArgs e)
    {
        Response.Write("submitted");
    }

}
于 2012-04-05T14:43:37.843 に答える