2013-04-25 4 views
1

Я новичок на asp.net с C#, мне нужно обновить строку в Gridview, но мне нужно использовать ModalPopupExtender из AJAX и некоторые поля моей таблицы, должны быть обязательными, поэтому я начинаю использовать этот элемент управления в этой форме: сначала я помещаю кнопку в режиме отображения «none», которая работает как триггер для панели обновления, внутри gridview я добавляю имя кнопки «Редактировать», которое отображает код ModalPopupExtender , но здесь возникает моя проблема, когда я помещаю RequiredFieldValidator, ModalPopupExtender не показывает, это мой код, пожалуйста, помогите мне, еще одна вещь, я не могу использовать Javascript.ModalPopupExtender и RequiredFieldValidator на панели

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="probando.aspx.cs" Inherits="Menus_Compras_probando" %> 
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
<style type="text/css"> 
.modalBackground 
{ 
background-color: Gray; 
filter: alpha(opacity=80); 
opacity: 0.8; 
z-index: 10000; 
} 
</style> 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="cphContenidoPrincipal" Runat="Server"> 

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataSourceID="ObjectDataSource1" DataKeyNames="_adqProveedorId"> 
    <Columns> 
     <asp:BoundField DataField="_adqProveedorId" HeaderText="_adqProveedorId" 
      SortExpression="_adqProveedorId" /> 
     <asp:BoundField DataField="_Nombre" HeaderText="_Nombre" 
      SortExpression="_Nombre" /> 
     <asp:BoundField DataField="_Direccion" HeaderText="_Direccion" 
      SortExpression="_Direccion" /> 
     <asp:BoundField DataField="_OtraIdent" HeaderText="_OtraIdent" 
      SortExpression="_OtraIdent" /> 
     <asp:BoundField DataField="_Telefono" HeaderText="_Telefono" 
      SortExpression="_Telefono" /> 
     <asp:BoundField DataField="_Fax" HeaderText="_Fax" SortExpression="_Fax" /> 
     <asp:BoundField DataField="_Email" HeaderText="_Email" 
      SortExpression="_Email" /> 
     <asp:BoundField DataField="_RepresLegal" HeaderText="_RepresLegal" 
      SortExpression="_RepresLegal" /> 
     <asp:BoundField DataField="_NumRUC" HeaderText="_NumRUC" 
      SortExpression="_NumRUC" /> 
     <asp:CheckBoxField DataField="_PersonalPlanta" HeaderText="_PersonalPlanta" 
      SortExpression="_PersonalPlanta" /> 
     <asp:CheckBoxField DataField="_AutorizaTrasladoAF" 
      HeaderText="_AutorizaTrasladoAF" SortExpression="_AutorizaTrasladoAF" /> 
     <asp:BoundField DataField="_Titulo" HeaderText="_Titulo" 
      SortExpression="_Titulo" /> 
     <asp:BoundField DataField="_CodInt" HeaderText="_CodInt" 
      SortExpression="_CodInt" /> 
     <asp:BoundField DataField="_objClasificaProveedorId" 
      HeaderText="_objClasificaProveedorId" 
      SortExpression="_objClasificaProveedorId" /> 
     <asp:BoundField DataField="_objAgrupacionPID" HeaderText="_objAgrupacionPID" 
      SortExpression="_objAgrupacionPID" /> 
     <asp:BoundField DataField="_objTipoDedIRID" HeaderText="_objTipoDedIRID" 
      SortExpression="_objTipoDedIRID" /> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:Button ID="btnEditar" runat="server" onclick="btnEditar_Click" 
        Text="Editar" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
    DataObjectTypeName="Sistema.BO.AdqProveedor" DeleteMethod="BorrarProveedor" 
    OldValuesParameterFormatString="original_{0}" 
    SelectMethod="SelectAllProveedores" TypeName="Sistema.BLL.BLLAdqProveedor" 
    UpdateMethod="AddUpdateProveedor"></asp:ObjectDataSource> 

    <br /><br /> 

    <asp:Button ID="btnShowPopup" runat="server" style="display:none" /> 
    <asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="btnShowPopup" PopupControlID="pnlpopup" 
CancelControlID="btnCancel" BackgroundCssClass="modalBackground"> 
</asp:ModalPopupExtender> 

<asp:Panel ID="pnlpopup" runat="server" BackColor="White" style="display:none"> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
<ContentTemplate> 
      <table> 
       <tr> 
        <td> 
         <asp:Label ID="Label1" runat="server" Text="Nombre:"> </asp:Label> 
        </td> 
        <td style="width: 315px"> 
         <asp:TextBox ID="tbNombre" runat="server" Width="200px"></asp:TextBox> 

        </td> 
        <td> 
         <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
          ControlToValidate="tbNombre" ErrorMessage="Campo Obligatorio"></asp:RequiredFieldValidator> 
        </td> 
        <td> 
         <asp:Label ID="Label2" runat="server" Text="Dirección:"></asp:Label> 
        </td> 
        <td> 
         <asp:TextBox ID="tbDir" runat="server" Width="300px"></asp:TextBox> 
        </td> 
       </tr> 
       <tr> 
        <td> 
         <asp:Label ID="Label3" runat="server" Text="Otra Identificación"></asp:Label> 
        </td> 
        <td style="width: 315px"> 
         <asp:TextBox ID="tbOtraId" runat="server"></asp:TextBox> 
        </td> 
        <td> 
         <asp:Label ID="Label4" runat="server" Text="Teléfono"></asp:Label> 
        </td> 
        <td> 
         <asp:TextBox ID="tbTel" runat="server"></asp:TextBox> 
        </td> 
       </tr> 
       <tr> 
        <td> 
         <asp:Label ID="Label5" runat="server" Text="Fax:"></asp:Label> 
        </td> 
        <td style="width: 315px"> 
         <asp:TextBox ID="tbFax" runat="server"></asp:TextBox> 
        </td> 
        <td> 
         <asp:Label ID="Label6" runat="server" Text="Email"></asp:Label> 
        </td> 
        <td> 
         <asp:TextBox ID="tbMail" runat="server"></asp:TextBox> 
        </td> 
       </tr> 
       <tr> 
        <td> 
         <asp:Label ID="Label7" runat="server" Text="Representación Legal:"></asp:Label> 
        </td> 
        <td style="width: 315px"> 
         <asp:TextBox ID="tbRepLegal" runat="server"></asp:TextBox> 
        </td> 
        <td> 
         <asp:Label ID="Label8" runat="server" Text="Número RUC:"></asp:Label> 
        </td> 
        <td> 
         <asp:TextBox ID="tbRuc" runat="server"></asp:TextBox> 
        </td> 
       </tr> 
       <tr> 
        <td> 
         <asp:Label ID="Label9" runat="server" Text="Personal Planta:"></asp:Label> 
        </td> 
        <td style="width: 315px"> 
         <asp:CheckBox ID="cbPersonalPlanta" runat="server" /> 
        </td> 
        <td> 
         <asp:Label ID="Label12" runat="server" Text="Clasificación:"></asp:Label> 
        </td> 

       </tr> 
       <tr> 
        <td> 
         <asp:Label ID="Label11" runat="server" Text="Título:"></asp:Label> 
        </td> 
        <td style="width: 315px"> 
         <asp:TextBox ID="tbTitulo" runat="server"></asp:TextBox> 
        </td> 
        <td> 
         <asp:Label ID="Label14" runat="server" Text="Tipo deducción IR:"></asp:Label> 
        </td> 

       </tr> 
       <tr> 
        <td colspan="4" style="height: 23px"> 
         <asp:Label ID="lblIdProv" runat="server" Visible="False"></asp:Label> 
         <asp:Label ID="lblIdClas" runat="server" Visible="False"></asp:Label> 
         <asp:Label ID="lblAgrId" runat="server" Visible="False"></asp:Label> 
         <asp:Label ID="lblDedId" runat="server" Visible="False"></asp:Label> 
        </td> 
       </tr> 
       <tr> 
        <td colspan="4"> 
         <asp:Label ID="lblInfo" runat="server"></asp:Label> 
         <asp:Image ID="Image1" runat="server" Height="16px" Width="16px" /> 
        </td> 
       </tr> 
       <tr> 
        <td> 
         &nbsp;</td> 
        <td style="width: 315px"> 
         &nbsp;</td> 
        <td> 
         &nbsp;</td> 

       </tr> 
      </table> 


    <asp:Label ID="lblRes" runat="server" Text=""></asp:Label> 
    <asp:Button ID="btnAct" runat="server" CommandName="Update" Text="Update" onclick="btnAct_Click" /> 
    <asp:Button ID="btnCancel" runat="server" Text="Cancel" /> 
</ContentTemplate> 
</asp:UpdatePanel> 

И это мой код за

protected void btnEditar_Click(object sender, EventArgs e) 
{ 
    Button btndetails = sender as Button; 
    GridViewRow gvrow = (GridViewRow)btndetails.NamingContainer; 
    tbNombre.Text = gvrow.Cells[1].Text; 
    this.ModalPopupExtender1.Show(); 
} 

ответ

0

пытаются поместить весь код внутри панели обновления

+0

также GridView? –

+0

привет снова, я нашел решение, я не знаю, является ли он наиболее оптимальным, но он работает для меня, мне пришлось поместить все элементы управления, которые отображаются в ModalPopupExtender внутри одной и той же группы проверки и хорошо работают :) –

0

Это один указал мне в правильном направлении сегодня так думал, что я опубликую фактическое решение для кода. Как уже упоминалось выше, в комментариях, ключ, чтобы добавить ValidationGroup тег для всех элементов управления RequiredFieldValidator, таким образом вы контролируете, когда применяется проверка -

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default2.aspx.vb" Inherits="ModalPopupExtenderExample.Default2" %> 
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %> 

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

    <style type="text/css"> 
    body{background-color: grey; font-family: Arial, Helvetica, sans-serif;} 
    .popup{background-color: white; padding:10px; border-radius:5px;} 
    </style> 

    </head> 

    <body> 
     <form id="form1" runat="server"> 
      <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
      <asp:Label ID="LabelAddNewContact" runat="server" Text="Add new contact"></asp:Label> 
      <asp:Button ID="ButtonAddNewContact" runat="server" Text="Add" /> 

      <asp:Panel ID="ModalPanelAddNewContact" runat="server" Width="500px" CssClass="popup"> 

       <div> 
        <asp:Label ID="LabelFirstName" runat="server" Text="First Name"></asp:Label><span class="requiredSpan"> *</span> 
        <asp:TextBox ID="TextBoxFirstName" runat="server"></asp:TextBox> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidatorFirstName" ValidationGroup="AddNewContact" runat="server" ControlToValidate="TextBoxFirstName" Display="Dynamic" EnableClientScript="true" ErrorMessage="Required"></asp:RequiredFieldValidator> 
       </div> 
       <div> 
        <asp:Label ID="LabelEmail" runat="server" Text="Email"></asp:Label><span class="requiredSpan"> *</span> 
        <asp:TextBox ID="TextBoxEmail" runat="server"></asp:TextBox> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidatorEmail" runat="server" ValidationGroup="AddNewContact" ControlToValidate="TextBoxEmail" Display="Dynamic" EnableClientScript="true" ErrorMessage="Required"></asp:RequiredFieldValidator>    
       </div> 

       <asp:Button ID="ButtonModalPanelAddNewClose" runat="server" Text="Cancel" /> 
       <asp:Button ID="ButtonModalPanelSaveNewContact" runat="server" Text="Save this contact" ValidationGroup="AddNewContact" /> 
       <asp:Button ID="ButtonAddBrandNewContact" runat="server" Text="Add" style="display:none"/> 
      </asp:Panel> 

      <ajaxToolkit:ModalPopupExtender ID="ModalPopupExtenderAddNewContact" runat="server" TargetControlID="ButtonAddBrandNewContact" 
       PopupControlID="ModalPanelAddNewContact" CancelControlID="ButtonModalPanelAddNewClose" BehaviorID="1" /> 
     </form> 
    </body> 
    </html> 
Смежные вопросы