【问题标题】:DefaultButton in MultiView.ActiveViewChanged EventMultiView.ActiveViewChanged 事件中的 DefaultButton
【发布时间】:2013-05-19 21:06:17
【问题描述】:

我在 asp.net 中使用 multiview 控件,在 ActiveViewChanged 事件中,我想在所选视图中以编程方式设置默认按钮,所以我正在使用代码:

if(myMultiview.GetActiveview() == myView)
   this.Page.Form.DefaultButton = btnDefault.UniqueID;

这里btnDefault 存在于myView 中,即使它抛出异常'System.NullReferenceException'

请给我建议解决方案

【问题讨论】:

  • 你得到哪一行代码'System.NullReferenceException'?可能, btnDefault 没有放在 myView
  • 我在this.Page.Form.DefaultButton = btnDefault.UniqueID; 上遇到了异常,而btnDefault 被放入了myView

标签: c# asp.net multiview multiviews


【解决方案1】:

我有类似的问题,我试试这个,

    <asp:Panel id="myPanel" runat="server" DefaultButton="ButtonID">
    <asp:MultiView ID="MultiView1" runat="server"  ActiveViewIndex="0">
        <asp:View ID="View1" runat="server" >
            <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
        </asp:View>
        <asp:View ID="View2" runat="server">
            <asp:Button ID="Button2" runat="server" Text="Button" onclick="Button2_Click" />
        </asp:View>
    </asp:MultiView>
    </asp:Panel>

</div>
</form>
protected void Page_Load(object sender, EventArgs e)
    {
        myPanel.DefaultButton = "Button1";
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write("View1 Button is clicked");
        MultiView1.ActiveViewIndex = 1;
        myPanel.DefaultButton = "Button2";
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Write("View2 Button is clicked");
        MultiView1.ActiveViewIndex = 0;
    }

可能对你有帮助。

【讨论】:

  • 我在运行时将this.form1this.formthis.Page.form 设为null
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-08
  • 2014-08-31
  • 1970-01-01
相关资源
最近更新 更多