문제

좋아, 그래서 나는 ASP : Formview를 사용하는 데 어려움을 겪고있다.

FormView Up and Running이 있고 '편집'버튼을 추가했습니다.

<asp:FormView runat="server" id="fwHotelDetails" DataKeyNames="id" OnDataBound="fwHotelDetails_DataBound" OnModeChanging="fwHotelDetails_ModeChanging" >
    <ItemTemplate>
        // (..) some code here which outputs some data

        <asp:Repeater runat="server" id="repScore">
          <ItemTemplate>
            <span class="item"> Some output here</span>
            <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" />
          </ItemTemplate>
        </asp:Repeater>

        <EditItemTemplate>
             Test test, anything??
        </EditItemTemplate>

    </ItemTemplate>
</asp:FormView>

나는 코드 뒤에있는 솔루션을 시도해 보았습니다.

protected void fwHotelDetails_ItemCommand(object sender, FormViewModeEventArgs e)
{
    if (e.CommandName.Equals("Edit"))
    {
        fwHotelDetails.ChangeMode(e.NewMode);
    }
}

이:

protected void fwHotelDetails_ModeChanging(object sender, System.Web.UI.WebControls.DetailsViewModeEventArgs e)
{
    fwHotelDetails.ChangeMode((FormViewMode)e.NewMode);
}

편집 버튼을 클릭하면 다음 오류 메시지가 나타납니다.

Formview 'fwhotelDetails'해고 된 이벤트 ModeChanging은 처리되지 않았습니다.

더해야 할 일은 무엇입니까?

이 페이지는 FormView 컨트롤러에 대한 훌륭한 참조입니다. http://authors.aspalliance.com/aspxtreme/sys/web/ui/webcontrols/formviewclass.aspx

업데이트: Phaedrus 제안을 refelct로 업데이트했습니다. 현재 상태는 편집 버튼을 클릭 한 후에도 ItemTemPlate의 내용이로드된다는 것입니다.

도움이 되었습니까?

해결책

어떤 메소드를 처리 해야하는지 지정해야합니다 모임 이벤트. 이 이벤트는 FormView Control이 편집, 삽입 및 읽기 전용 모드간에 전환하려고 시도하지만 모드가 실제로 변경되기 전에 제기됩니다.

<asp:FormView OnModeChanging="fwHotelDetails_ModeChanging" />

메소드 서명의 두 번째 매개 변수는 'detailsViewModeeventArgs'입니다. 'formViewModeeventArgs'여야합니다.

void fwHotelDetails_ModeChanging(Object sender, FormViewModeEventArgs e)
{
}

다른 팁

FormView 's에 코드를 작성하십시오 Item_Command

protected void formview_ItemCommand(object sender, FormViewCommandEventArgs e)

        {

            if (e.CommandName == "Edit")
            {
                formview.DefaultMode = FormViewMode.Edit;
                formview.DataBind();
            }
            if (e.CommandName == "Cancel")
            {
                formview.DefaultMode = FormViewMode.ReadOnly;
                formview.DataBind();
            }

        }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top