2

저는 NativeActivity를 가지고 있고 Execute 메서드에서 책갈피를 만들어서 워크 플로의 위치를 ​​알고 있습니다. 북마크를 만드는 이유는 기사에 대한 재고가 충분하지 않기 때문에 재고가있는 다른 기사를 원한다면 사용자에게 물어볼 필요가 있기 때문입니다.CreateBookmark를 호출 할 때 매개 변수를 추가하는 방법

사용자는 재고가있는 대체 기사 중 하나를 선택하는 질문을 받게됩니다. 대체 기사를 얻으려면 워크 플로의 원본 articlenumber를 가져와야합니다.

저는 ASP .NET MVC를 사용하므로 더 이상 staticeless가 아니기 때문에 articleumber가 없습니다. 완성 된 이벤트에는 워크 플로가 없으므로 OutArguments를 읽을 수 없습니다. 책갈피를 사용하여 매개 변수를 전달하는 방법을 알아야합니다.

감사

public sealed class AskAlternative : NativeActivity 
{ 
    public OutArgument<string> ArticleNumber { get; set; } 

    protected override bool CanInduceIdle { get { return true; } } 

    protected override void Execute(NativeActivityContext context) 
    { 
     context.CreateBookmark(ShoppingCartFlowActivityViews.AskAlternative.ToString(), Continue); 
    } 

    void Continue(NativeActivityContext context, Bookmark bookmark, object obj) 
    { 
     var tuple = (Tuple<string>)obj; 

     context.SetValue(ArticleNumber, tuple.Item1); 
    } 

} 

답변

0

당신은 책갈피에 매개 변수를 추가하지 않습니다. 대신 일반적으로 북마크를 만든 다음 북마크를 다시 시작하는 데 필요한 다른 모든 데이터와 함께 북마크 또는 이름 만 전달합니다. 종종 이것은 액티비티 나 워크 플로우 확장을 포함하지만 이것이 꼭 필요한 것은 아닙니다.

+1

어떻게 할 수 있는지 보여 줄 수 있습니까? 신청서에 ArticleNumber가 필요합니다. 위의 예를 참조하십시오. –

관련 문제