I am trying to use the ActiveViewIndex to switch between these 3 view.
I am able to go to my vPrivilage view, but not my vAddNew.
Can anyone please help me identify my issue? Thanks in advance.
This is my html code:
<asp:MultiView ID="mv1" runat="server" ActiveViewIndex="0">
<asp:View ID="vList" runat="server">
<div>
<span><%=Resources.Resource.Search %></span> <span><%=Resources.Resource.Designation %></span> :
<asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
<asp:ImageButton ID="imgCancel" runat="server" CausesValidation="False"
CommandName="Cancel" ImageAlign="Middle"
ImageUrl="~/Images/ico_search_16.png" Width="20px" ToolTip="<%$ Resources:Resource, Search %> " />
</div>
<asp:GridView ID="gvSettings"
runat="server"
AutoGenerateColumns="False"
DataKeyNames="designationId"
DataSourceID="dsSettings"
CssClass="gv"
AllowSorting="True"
AllowPaging="True"
PageSize="50"
Width="100%"
ShowHeaderWhenEmpty="True"
EmptyDataText="<%$ Resources:Resource, NoRecordFound %>">
<SelectedRowStyle CssClass="sel" />
<AlternatingRowStyle CssClass="alt" />
<PagerStyle CssClass="pgr" />
<Columns>
<asp:TemplateField ItemStyle-Width="1%" HeaderText="#">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>.
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="<%$ Resources:Resource, Designation %> ">
<ItemTemplate>
<asp:Label ID="lblDesignation" runat="server" Text='<%# Bind("ShortDesc") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:ImageButton ID="imgPrivilage" runat="server" CausesValidation="False"
ImageAlign="Middle" ImageUrl="~/Images/ico_settings_16.png" Width="20px"
ToolTip="<%$ Resources:Resource, RolePrivilege %> "
OnClick="imgPrivilage_Click" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:UpdatePanel ID="upAddNew" runat="server">
<ContentTemplate>
<asp:Button ID="btnAddnew" runat="server" Text="<%$ Resources:Resource, Add %>" OnClick="btnAddnew_Click" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnAddNew" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</asp:View>
<asp:View ID="vAddNew" runat="server">
<table class="ZebraTable">
<tr>
<td style="width: 10%"><span><%=Resources.Resource.ShortDesc %></span></td>
<td>
<asp:TextBox ID="txtShortDesc" MaxLength="100" runat="server" Text='<%# Eval("ShortDesc") %>' />
<asp:RequiredFieldValidator ID="rfvShortDesc" runat="server" InitialValue="" ControlToValidate="txtShortDesc" CssClass="errorValidation" ErrorMessage="<%$ Resources:Resource, Required %>"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td><span><%=Resources.Resource.Description %></span></td>
<td>
<asp:TextBox ID="txtDescription" MaxLength="200" runat="server" Text='<%# Eval("Description") %>' Width="80%" />
</td>
</tr>
</table>
<asp:Button ID="btnSave" runat="server" Text="<%$ Resources:Resource, Save %>" OnClick="btnSave_Click" />
<asp:Button ID="btnCancel" runat="server" Text="<%$ Resources:Resource, Cancel %>" CausesValidation="false" OnClick="btnCancel_Click" />
</asp:View>
<asp:View ID="vPrivilege" runat="server">
<div style="float: right; margin-top: 0px;">
<asp:ImageButton ID="imgBack" ImageUrl="~/Images/close.png"
Width="25" Height="25" ToolTip="<%$ Resources:Resource, Close %>"
runat="server" OnClick="imgBack_Click" />
</div>
<div style="float: right; margin-top: 0px;">
<asp:ImageButton ID="imgSave" ImageUrl="~/Images/save.png"
Width="25" Height="25" ToolTip="<%$ Resources:Resource, Save %>"
runat="server" OnClick="imgSave_Click" />
</div>
<uc1:rolePrivilage runat="server" ID="rolePrivilage" />
</asp:View>
</asp:MultiView>
Backend Code:
protected void InitializeText()
{
mv1.ActiveViewIndex = 0;
}
protected void imgPrivilage_Click(object sender, ImageClickEventArgs e)
{
GridViewRow row = (GridViewRow)((ImageButton)sender).Parent.Parent;
if (row != null)
{
rolePrivilage.roleId = gvSettings.DataKeys[row.RowIndex].Value.ToString();
rolePrivilage.roleDesc = string.Format("{0} | {1}",
rolePrivilage.roleId, ((Label)row.FindControl("lblDesignation")).Text);
}
mv1.ActiveViewIndex = 2;
}
protected void btnAddnew_Click(object sender, EventArgs e)
{
mv1.ActiveViewIndex = 1;
}
protected void imgBack_Click(object sender, ImageClickEventArgs e)
{
mv1.ActiveViewIndex = 0;
}
I have looked for many online resources, but the code looks the same as mine. So I am not really sure what have I mislooked. Thanks in advance!