Laden...
M
Markus86
myCSharp.de - Member
26
Themen
49
Beiträge
Letzte Aktivität
vor 8 Jahren
Dabei seit
14.03.2006
Erstellt vor 14 Jahren

Hey, die kenne ich schon, allerdings verwenden die sowohl die alte Workflow Foundation als auch MVC 2 😃

Erstellt vor 14 Jahren

Hallo,

ich habe es mit diesem Tutorial geschafft, einen Workflow in meinem MVC-Anwendung einzubauen: http://stevenalexander.posterous.com/integrating-a-persisted-wf40-workflow-with-mv

Allredings habe ich dabei folgendes Problem: beim Submit wird immer der Index-Controller aufgerufen (der dafür zuständig ist, den nächsten View herauszufinden). Mein Problem ist nun: wie kann ich nach dem Submit auf das Model der jeweiligen Seite zugreifen? Irgendwie muss ich die eingegebenen Daten ja verarbeiten.

Weiß das zufällig jemand?

Viele Grüße,
Markus

Erstellt vor 14 Jahren

Was meinst du damit? Also wie kommt die UserId vom View in den Partial View?

EDIT: Oh man, das wars tatsächlich 😃 Danke für den Tipp!!!

Erstellt vor 14 Jahren

Hallo, folgendes Problem:

ich habe eine Seite, auf der Details zu einem Benutzer angezeigt werden, dessen ID wird als Parameter übergeben.

Darin habe ich einen Bereich, wo ich zum aktuellen Benutzer eine Adresse hinzufügen kann. Dazu habe ich eine Strongly Typed Partial View erstellt (mit Address als Model). Nun brauche ich aber zusätzlich noch die ID des Users im AddAddress-Controller.

Ich habe bereits folgendes probiert:

  • neues Model (AddAddressModel), das neben den Address-Properties noch die UserId enthält -> UserId ist immer null (Html.Partial("_AddAddress", new AddAddressModel { UserId = ViewBag.User.Id})
  • ViewBagDictionary verändert -> beim Controller ist dieses immer leer

Weiß da jemand Rat? Oder wie würde man diesen Fall ansonsten modellieren? Danke schonmal!

Viele Grüße,
Markus

Erstellt vor 15 Jahren

Der DataContext passt (im Code gehts ja auch), und auch das PropertyChangedCallBack wird nicht aufgerufen, wenn ichs im XAML binde. Mit dem Binding im Code geht alles...

Erstellt vor 15 Jahren

Hallo,

folgende Situation: ich habe ein User-Control mit einem Property "MyIntProperty". Auf meiner Hauptseite ist eine Instanz des Controls. Die Seite selbst hat das gleiche Property. Nun binde ich das Property des Controls an das Property der Seite. Wenn ich das Property der Seite nun aktualisiere, möchte ich, dass der Setter des Controls aufgerufen wird, was aber nicht passiert.

Im Anhang eine Minimaldemo des Problems. Habe ich da einen Denkfehler drin?

Update: wenn ich das Binding im Code zuordne, funktioniert es!!


            Binding b = new Binding("MyIntProperty");
            b.Source = this;
            b.Mode = BindingMode.TwoWay;
            testControl.SetBinding(TestControl.MyIntPropertyProperty, b);

Außerdem hier bissl Code zur Übersicht:


    public partial class TestControl : UserControl
    {
        public static readonly DependencyProperty MyIntPropertyProperty = DependencyProperty.Register("MyIntProperty", typeof(int), typeof(TestControl), new PropertyMetadata(0));

        public int MyIntProperty
        {
            get
            {
                return (int)GetValue(MyIntPropertyProperty);
            }
            set
            {
                SetValue(MyIntPropertyProperty, value);
            }
        }

        public TestControl()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            button1.Content = MyIntProperty.ToString();
        }
    }


    public partial class MainPage : UserControl, INotifyPropertyChanged
    {
        protected void OnPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

        private int myProperty = 0;

        public int MyIntProperty
        {
            get
            {
                return myProperty;
            }
            set
            {
                myProperty = value;
                OnPropertyChanged("MyIntProperty");
            }
        }

        public MainPage()
        {
            InitializeComponent();
        }

        public event PropertyChangedEventHandler PropertyChanged;

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            MyIntProperty = 10;
        }
    }

Und in der XAML der MainPage steht:

<c:TestControl MyIntProperty="{Binding MyIntProperty,Mode=TwoWay}" />

Viele Grüße,
Markus

Erstellt vor 15 Jahren

Nach der RTM von Visual Studio 2010 wurde nun auch Silverlight 4 veröffentlich:

http://weblogs.asp.net/scottgu/archive/2010/04/15/silverlight-4-released.aspx

Auch das Toolkit wurde aktualisiert: http://silverlight.codeplex.com/releases/view/43528

Erstellt vor 15 Jahren

Das mit dem .NET Reflector und der Listbox war ne gute Idee, da hätte ich eigentlich auch draufkommen können 😃

Die machen das anscheinend so, dass es ein zweites DependencyProperty gibt, das im GETTER aktualisiert wird, was recht clever ist.

Vielen Dank jedenfalls für die Hilfe!

Erstellt vor 15 Jahren

Hmm, mir fällt auf, dass der Trivialfall wohl nicht ganz dem Anwendungsfall entspricht.

Letztendlich siehts so aus: DependencyProperty "AllItems", und ein zweites Property "SelectedItems"

bei SelectedItems werden einfach die AllItems durchiteriert und das jeweilige Selected-Property wird abgefragt. Daraus wird dann wieder ne ObservableCollection gebaut (mit den Items mit Selected = true). Sprich die AllItems enthält immer alle, und SelectedItems eben diejenigen, die ausgewählt sind.

Im Setter von SelectedItems werden auch alle AllUsers durchiteriert, und die die in "value" drin sind werden Selected = true, die andern Selected = false.

So, nun möchte ich die SelectedItems databinden.

Erstellt vor 15 Jahren

Wie gesagt, das erste Property ist ja ein Dependency-Property. Das zweite baut aber auf dem ersten auf, wie muss ich also das zweite implementieren?