2013-04-15 1 views
0

У меня есть gridview для пользователей.Кнопка Gridview Нажмите - Заполните пользовательский элемент управления, затем откройте диалоговое окно JQuery

То, что я хочу случиться:

Когда кто-то хочет изменить детали пользователя, они нажимают на кнопку GridView соответствующей, и диалог модальный Jquery открывает информацию о пользователе предварительно заполненные.

Сценарий:

$(document).ready(function() { 
       //setup new User dialog 
       $('#divEditUser').dialog({ 
        autoOpen: false, 
        draggable: true, 
        width: 650, 
        modal: true, 
        title: "Edit User", 
        open: function (type, data) { 
         $(this).parent().appendTo("form"); 
        } 
       }); 

Gridview:

<asp:TemplateField ItemStyle-HorizontalAlign="Center"> 
    <ItemTemplate> 
     <asp:Button ID="btnEdit" CommandArgument='<%# Eval("UserID") %>' CommandName="EditUser" Text="Edit User" runat="server" UseSubmitBehavior="false"/> 
    </ItemTemplate> 
</asp:TemplateField> 

Контроль пользовательских пользователь:

<div id="divEditUser" title="Edit user"> 
    <asp:HiddenField ID="hiddenUserID" runat="server" /> 
    <cac:UserDetails runat="server" ID="UserDetails" /> 
    <asp:Button id="btnSaveChanges" Text="Save Changes" runat="server" /> 
</div> 

Кодекс За:

protected void gridUsers_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     if (e.CommandName == "EditUser") 
     { 
      Button btn = (Button)e.CommandSource;    // the button 
      GridViewRow myRow = (GridViewRow)btn.Parent.Parent; // the row 
      GridView myGrid = (GridView)sender; // the gridview 
      string ID = myGrid.DataKeys[myRow.RowIndex].Value.ToString(); 

      UserDetails.PopulateUser(Convert.ToInt16(ID)); 

      THIS IS WHERE I WANT TO OPEN THE DIALOG 
     } 
    }  

Моя проблема заключается в том, что появляется диалоговое окно & исчезает на постбэка, или он просто не будет отображаться, или оно будет отображаться во всплывающем окне (не заполняется) и снова в форме (заселенной)

Я старался ScriptManager.RegisterStartupScript

Я также пробовал несколько методов OnClientClick. Я пробовал с панелями обновления, без панелей обновления

, но снова & снова, не повезло.

Неужели кто-то действительно достиг этого? ... И вы бы разделили код - пожалуйста?

+0

Действительно? .. не один? – wotney

ответ

0

использовать return false statement в вашей функции диалога jquery

+1

Можете ли вы подробнее рассказать об этом ответе? На данный момент это в основном комментарий, а не ответ. – wickedone

Смежные вопросы