首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp.Net MultiView中的验证组

Asp.Net MultiView中的验证组
EN

Stack Overflow用户
提问于 2015-04-22 10:50:06
回答 3查看 1K关注 0票数 1

我的代码中有multiViewValidation group。根据我的代码,当用户按下按钮时,视图中的所有数据都需要保存。

代码语言:javascript
复制
    <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">    
     <asp:View ID="viewGegevens" runat="server">
          <asp:TextBox ID="txtCompanyname" MaxLength="100" runat="server" CssClass=""></asp:TextBox>
          <asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" ToolTip="Bedrijfsnaam vereist!"
                                Display="Dynamic" ErrorMessage="*" ValidationGroup="Save" ControlToValidate="txtCompanyname"
                                CssClass="required-asterics"></asp:RequiredFieldValidator>

         <div>
            <asp:LinkButton ID="btnSave1" Text="Opslaan" runat="server" CssClass="btn-ctrl right" OnClick="txtSave1_Click" ValidationGroup="Save">Save
            </asp:LinkButton>
            <asp:LinkButton ID="btnCancel1" Text="Annuleren" runat="server" CssClass="btn-ctrl right" OnClick="txtCancel1_Click">  Cancel 
            </asp:LinkButton>    
         </div>
      </asp:View>

      <asp:View ID="viewGegevens2" runat="server">
           <asp:TextBox ID="txtBillingPostalCode" runat="server" CssClass="" MaxLength="100"></asp:TextBox>
           <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ToolTip="Postcode vereist!"
                                ErrorMessage="*" ValidationGroup="Save" ControlToValidate="txtBillingPostalCode"
                                Display="Dynamic" CssClass="required-asterics"></asp:RequiredFieldValidator>

         <div>
            <asp:LinkButton ID="btnSave2" Text="Opslaan" runat="server" CssClass="btn-ctrl right" OnClick="txtSave2_Click" ValidationGroup="Save">Save
            </asp:LinkButton>
            <asp:LinkButton ID="txtCancel2" Text="Annuleren" runat="server" CssClass="btn-ctrl right" OnClick="txtCancel2_Click">  Cancel 
            </asp:LinkButton>    
         </div>
      </asp:View>
    </asp:MultiView>

我的问题是,我需要在用户按btnSave1btnSave2这两个选项卡中启动所需的字段验证。但是现在,如果我按btnSave1,它只会在第一个选项卡中触发验证。我怎么才能解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-22 12:14:58

答案是不,你不能这样做。

ASP.NET多视图设计用于一次显示和验证一个视图。因此,只有活动视图的html被传递到客户端的浏览器。

有一个解决办法,但如果使用MultiView的ActiveViewChanged事件,可能会出现问题。

另一种选择是重构页面并使用两个div,每个步骤一个,在从第一步更改到第二步时,使其中一个可见,并在最后一步验证整个页面一次。这将要求您使用javascript做更多的工作。

票数 1
EN

Stack Overflow用户

发布于 2016-08-31 20:12:09

在我的情况下找到了解决办法。当在后面的代码中单击选项卡时,我进行了不同的视图验证,防止用户在不验证的情况下离开视图。

代码语言:javascript
复制
protected void Tab3_Click(object sender, EventArgs e)
{
    Page.Validate("YourValidationGroup");
    if (Page.IsValid)
    {
        Tab1.CssClass = "Initial";
        Tab2.CssClass = "Initial";
        Tab3.CssClass = "Clicked";
        MainView.ActiveViewIndex = 2;
    }
}

我知道这是一个古老的线索,但我想,我会把它扔到那里,为未来的人遇到类似的问题。

票数 2
EN

Stack Overflow用户

发布于 2019-06-05 11:03:44

试试这个:

代码语言:javascript
复制
SelectView(0);
        Validate();
        if (IsValid)
        {
            SelectView(1);
            Validate();
            if (IsValid)
            {
                SelectView(2);
                Validate();
                if (IsValid)
                {
                    SelectView(3);
                    Validate();
                    if (IsValid)
                    {
                        UpdateHeader();
                        Response.Redirect("FinConfLanding.aspx");
                    }
                }
            }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29795217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档