我应该在哪里把我的UpdatePanel

问题描述:

我一直负责更新ASP Web应用程序到Visual Studio 2015年我有一个母版页,看起来像这样:我有一个ASP网页有一个GridView我应该在哪里把我的UpdatePanel

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="HorizontalMenu.master.cs" Inherits="HomiLog2015.HorizontalMenu" %> 
<%@ Register Src="~/Header and Footer/Footer.ascx" TagPrefix="uc1" TagName="Footer" %> 
<%@ Register Src="~/Header and Footer/Header.ascx" TagPrefix="uc1" TagName="Header" %> 
<%@ Register Src="~/Menu.ascx" TagPrefix="uc1" TagName="Menu" %> 
<link href="App_Themes/Rockies/BaseStyles.css" rel="stylesheet" /> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
</head> 

<body id="Body1" runat="server"> 
<form runat="server" id="form1" method="post"> 
    <asp:ScriptManager ID="scriptManager1" runat="server" EnablePartialRendering="True" EnablePageMethods="True" EnableScriptGlobalization="True" EnableScriptLocalization="True"> 
     </asp:ScriptManager> 
    <table border="0"> 
     <tr> 
      <td class="pcT" colspan="2"> 
       <uc1:Header runat="server" ID="Header1" /> 
      </td> 
      <td class="pcTR"></td> 
     </tr> 
     <tr> 
      <td class="pcml"></td> 
      <td class="MLMmc"> 
       <uc1:Menu runat="server" id="Menu1" /> 
      </td> 
     </tr> 
     <tr> 
      <td class="pcL"></td> 
      <td class="pcC"> 
       <asp:ContentPlaceHolder id="PageContent" runat="server"/> 
      </td> 
      <td class="pcR"></td> 
     </tr> 
     <tr> 
      <td class="pcBL"></td> 
      <td class="pcB"> 
       <uc1:Footer runat="server" ID="Footer1" /> 
      </td> 
      <td class="pcBR"></td> 
     </tr> 
    </table> 
</form> 
</body> 
</html> 

并需要编辑,删除和插入记录。我已经获得了编辑和删除功能,但在插入部分存在问题。

当我试图保存新记录时,所有的数据字段都是空的。我知道C#代码正在读取行上的文本值,因为我有一个下拉列表和一个复选框来获取它们的值,但这是默认值,而不是我为插入选择的值。

很确定这是一个回发问题,因为我注意到我的网页上没有UpdatePanel。我试图将GridView包装在UpdatePanel中,但是当我这样做时,我得到错误,说明GridView不是已知的元素。我曾尝试在div中包装gridview,然后在更新面板中包装div。但后来我得到的错误div不能嵌套在更新面板。

所以我认为我需要在Master页面上包含更新面板,但是当我将它移动到那里时,无法获得它进行编译。我曾尝试将面板放在主页上的各个位置。有人能指出我在这方面的正确方向吗?

我一直在问到这里提供更多的代码是具有在GridView

<%@ Page Title="" Language="C#" MasterPageFile="~/HorizontalMenu.Master" 
AutoEventWireup="true" CodeBehind="EditMembers.aspx.cs" 
Inherits="HomiLog2015.EditMembers" %> 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" 
TagPrefix="telerik" %> 

<asp:Content ID="Content2" ContentPlaceHolderID="PageContent" 
runat="server"> 
<section id="searchHeader" class="Search"> 
    <p class="searchp">Members</p> 
</section> 
<section id="SearchArea" class="SearchBar"> 
    Search for: 
    <br /> 
    <br /> 
    Last Name: 
</section> 
<section id="searchFooter" class="Search"> 
    <p>*</p> 
</section> 
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> 
</telerik:RadAjaxManager> 
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" 
Skin="Default"></telerik:RadAjaxLoadingPanel> 
<telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" /> 
<section id="grid" class="Grid-Container"> 
    <p style="text-align: Left;"> 
     <asp:Button ID="btnAdd" runat="Server" Text="Add New Record" 
OnClick="btnAdd_Click" /></p> 

    <asp:GridView ID="MembersGridView" runat="server" EnableViewState="true" 
     DataKeyNames="UserId" 
     AutoGenerateColumns="false" 
     AutoGenerateEditButton="true" 
     AutoGenerateDeleteButton="false" 
     OnRowDataBound="MembersGridView_RowDataBound" 
     OnRowEditing="MembersGridView_RowEditing" 
     OnRowCancelingEdit="MembersGridView_RowCancelingEdit" 
     OnRowUpdating="MembersGridView_RowUpdating" 
     OnRowUpdated="MembersGridView_RowUpdated" 
     OnRowDeleting="MembersGridView_RowDeleting" 
     OnRowCommand="MembersGridView_RowCommand" 
     OnSorting="MembersGridView_Sorting" 
     AllowPaging="true" 
     AllowSorting="true" 
     EmptyDataText="No Data Has Been Entered" 
     HorizontalAlign="Left" 
     ShowFooter="false" 
     OnPageIndexChanging="MembersGridView_PageIndexChanging" 
BackColor="White" BorderColor="#999999" BorderStyle="Solid" 
BorderWidth="1px" CellPadding="3" ForeColor="Black" GridLines="Vertical"> 
     <Columns> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <asp:ImageButton runat="server" ID="MembersDeleteButton" 
         CommandArgument='<%#Eval("username")%>' 
         OnClientClick="return confirm('Are you sure you want 
to delete this event?');" 
         OnCommand="DeleteMember" Text="Delete" 
         ImageUrl="../Images/Icon_delete.gif"> 
</asp:ImageButton> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="Valid" ItemStyle-Width="10"> 
       <ItemTemplate> 
        <asp:CheckBox ID="chkActive" runat="server" Checked='<%# 
Eval("valid")%>' Enabled="false"></asp:CheckBox> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:CheckBox ID="chkActive" runat="server" Checked='<%# 
Eval("valid")%>'></asp:CheckBox> 
       </EditItemTemplate> 
       <FooterTemplate> 
        <asp:CheckBox ID="chkActive" runat="server" /> 
       </FooterTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="First Name" ItemStyle- 
Width="100"> 
       <ItemTemplate> 
        <asp:Label ID="lblFirstName" runat="server" Text='<%# 
Eval("firstname")%>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:TextBox ID="txtFirstName" runat="server" Text='<%# 
Eval("firstname")%>'></asp:TextBox> 
       </EditItemTemplate> 
       <FooterTemplate> 
        <asp:TextBox ID="txtFirstName" Text="Hello" 
runat="server"></asp:TextBox> 
       </FooterTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="Last Name" ItemStyle-Width="100"> 
       <ItemTemplate> 
        <asp:Label ID="lblLastName" runat="server" Text='<%# 
Eval("Lastname")%>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:TextBox ID="txtLastName" runat="server" Text='<%# 
Eval("Lastname")%>'></asp:TextBox> 
       </EditItemTemplate> 
       <FooterTemplate> 
        <asp:TextBox ID="txtLastName" runat="server"> 
</asp:TextBox> 
       </FooterTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="User Name" ItemStyle-Width="100"> 
       <ItemTemplate> 
        <asp:Label ID="lblUsertName" runat="server" Text='<%# 
Eval("username")%>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:TextBox ID="txtUserName" runat="server" Text='<%# 
Eval("username")%>'></asp:TextBox> 
       </EditItemTemplate> 
       <FooterTemplate> 
        <asp:TextBox ID="txtUserName" runat="server"> 
</asp:TextBox> 
       </FooterTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="Role" ItemStyle-Width="100"> 
       <ItemTemplate> 
        <asp:Label ID="lblRole" runat="server" Text='<%# 
Eval("role")%>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:DropDownList ID="ddlRole" runat="server" 
DataTextField="Role1" DataValueField="RoleID"></asp:DropDownList> 
       </EditItemTemplate> 
       <FooterTemplate> 
        <asp:DropDownList ID="ddlRole" runat="server" 
DataTextField="Role1" DataValueField="RoleID"></asp:DropDownList> 
       </FooterTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="Email" ItemStyle-Width="100"> 
       <ItemTemplate> 
        <asp:Label ID="lblEmail" runat="server" Text='<%# 
Eval("EmailAddress")%>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:TextBox ID="txtemail" runat="server" Text='<%# 
Eval("EmailAddress")%>'></asp:TextBox> 
       </EditItemTemplate> 
       <FooterTemplate> 
        <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox> 
        <asp:Button ID="btnInsert" runat="Server" Text="Insert" 
CommandName="Insert" UseSubmitBehavior="False" /> 
       </FooterTemplate> 
      </asp:TemplateField> 
     </Columns> 
     <PagerSettings Mode="Numeric" 
      Position="Bottom" 
      PageButtonCount="10" /> 

     <AlternatingRowStyle BackColor="#CCCCCC" /> 
     <FooterStyle BackColor="#CCCCCC" /> 
     <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" /> 

     <PagerStyle BackColor="#999999" 
      Height="30px" 
      VerticalAlign="Bottom" 
      HorizontalAlign="center" ForeColor="Black" /> 

     <SelectedRowStyle BackColor="#000099" Font-Bold="True" 
ForeColor="White" /> 
     <SortedAscendingCellStyle BackColor="#F1F1F1" /> 
     <SortedAscendingHeaderStyle BackColor="#808080" /> 
     <SortedDescendingCellStyle BackColor="#CAC9C9" /> 
     <SortedDescendingHeaderStyle BackColor="#383838" /> 

     <EmptyDataTemplate> 
      <asp:CheckBox ID="chkActive" runat="server" Checked='<%# 
Eval("valid")%>' Enabled="false"></asp:CheckBox> 
      <asp:Label ID="lblFirstName" runat="server" Text='<%# 
Eval("firstname")%>'></asp:Label> 
      <asp:Label ID="lblLastName" runat="server" Text='<%# 
Eval("Lastname")%>'></asp:Label> 
      <asp:Label ID="lblUsertName" runat="server" Text='<%# 
Eval("username")%>'></asp:Label> 
      <asp:DropDownList ID="ddlRole" runat="server" 
DataTextField="Role1" DataValueField="RoleID"></asp:DropDownList> 
      <asp:Label ID="lblEmail" runat="server" Text='<%# 
Eval("EmailAddress")%>'></asp:Label> 
     </EmptyDataTemplate> 


    </asp:GridView> 

</section> 

</asp:Content> 

我试图把在此页面上的不同位置更新面板ASPX页面,但它不会编译。

+2

“更新应用程序到Visual Studio 2015”是什么意思?这没有任何意义。 Visual Studio是一个IDE。 – DavidG

主页是造型。在这种情况下,你不应该触摸它们。

属性添加的MasterPageFile元素中包含你的GridView你的.aspx标记文件。

<%@ Page MasterPageFile="~/YOUR_MASTER_PAGE_FILE" ... %> 

注意ASP的id:在你的母版页的ContentPlaceHolder

<asp:ContentPlaceHolder id="PageContent" runat="server"/> 

总结新的.aspx页面中ASP内容:内容具有的属性ASP元素:ContentPlaceHolderID等于ASP的ID:的ContentPlaceHolder元素在你的母版页文件。

<asp:Content ID="mainPlaceHolder" ContentPlaceHolderID="PageContent" runat="server"> 

Here is an example for inserting records using a GridView

请张贴相关的标记和后端代码,您GridView和插入逻辑。根据所提供的信息,我无法提供任何帮助。

+0

Thanks @withmetta我已经从gridview的aspx页面发布了HTML。看起来内容区域按照您的解释设置。 – Perry

+0

btnAdd和btnInsert有什么区别? – WithMetta

+0

它也看起来像你需要实现OnRowCreated https://msdn.microsoft。com/en-us/library/system.web.ui.webcontrols.gridview.onrowcreated(v = vs.110).aspx – WithMetta