2015-01-26 4 views
1

나는 여기와 구글에서도 검색을했다. 나는이 글을 게시하고 있지 않다.Gridview Edit 버튼을 클릭했을 때 formview에 대한 모델 바인딩

두 개의 GridView 및 FormView 컨트롤이 있습니다. 내 프로젝트에서 모델 바인딩을 사용하고 있습니다.

  <asp:GridView ID="GridView1" runat="server" DataKeyNames="Id" ItemType="Sample.Shared.ViewModel.ProfileMasterView" 
      AutoGenerateColumns="false" SelectMethod="Select_GridView"> 
      <Columns> 
       <asp:BoundField DataField="Name" HeaderText="Name" /> 
       <asp:BoundField DataField="Designation" HeaderText="Designation" /> 
       <asp:BoundField DataField="EmailAddress" HeaderText="EmailAddress" /> 
       <asp:TemplateField HeaderText="Action"> 
        <ItemTemplate> 
         <asp:Button ID="Edit_Profile" OnClick="btnEdit_OnClick" runat="server" Text="Edit" CommandArgument="<%# BindItem.Id %>" /> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
     </asp:GridView> 

<asp:FormView ID="fvProfile" runat="server" RenderOuterTable="False" ItemType="Sample.Shared.ViewModel.ProfileMasterView" 
       DefaultMode="Insert" InsertMethod="Insert_Profile" > 

나는 걸립니다 내가 BLL 메소드를 호출 모드를 formview 변경하려면 클릭 내가 그 record.On 버튼의 ID를 보내고있는 gridview에서 편집 모드에서 FormView를 열려면 버튼 이드 그 편집 모드에서 폼보기에 표시된 레코드를 클릭하고 검색합니다. 도와주세요. 모델 바인딩 만 사용하여 다른 방법으로 구현할 수 있습니까? 감사합니다.

아무도 대답하지 않는 것처럼 보입니다. 나는 일을하고 적절한 방법을 찾았으므로 일을하면서 시간을 얻을 때 답을 추가 할 것입니다. 버튼 ID = "Edit_Profile"의 OnClick = "btnEdit_OnClick"RUNAT = "서버"텍스트 = "편집"CommandArgument = "<퍼센트 # BindItem.Id %>"

ASP :

답변

-1

ASP를하기 전에 : FormView ID = "fvProfile"RUNAT = "서버"RenderOuterTable = "거짓"ItemType은 = "Sample.Shared.ViewModel.ProfileMasterView" DefaultMode =하여 InsertMethod = "Insert_Profile"를 "삽입"

ASP 후 : 버튼 ID = "편집 _ 프로필" 요구시 작동 = "btnEdit_OnClick"RUNAT = "서버"텍스트 = "편집"CommandArgument는 = "<% # BindItem.Id %>"

ASP : FormView ID = "fvProfile"RUNAT = "서버"RenderOuterTable = "거짓"ItemType은 = "Sample.Shared.ViewModel.ProfileMasterView"경우 SelectMethod =이 DefaultMode = "삽입"하여 InsertMethod = "Insert_Profile"

protected void btnEdit_OnClick(object sender, CommandEventArgs e) 
    { 
     gId = Convert.ToInt32(e.CommandArgument.ToString()); 
     fvProfile.ChangeMode(FormViewMode.Edit); 
     fvProfile.Visible = true; 
     GridView1.Visible = false; 
     fvProfile.DataBind(); 
    } 

    public DAL2.Models.OfficialDocument Get() 
    { 
     if(gId == 0) 
     { 
      ChangeViewMode(); 
      return null; 
     } 
     BLL.ManageOfficialDocument mod = new BLL.ManageOfficialDocument(); 
     var od = mod.GetById(gFILES_ID); 
     return od; 
    } 

private int gId; 
+1

이 당신의 대답에 정교하게하십시오 "오기". 그것이 그대로, 그것은 불분명하다. – JAL