Is it possible to use a TextBoxFor to send value to two fields in a model

I have a Create View which I am using a ViewModel to send the values to two classes but there is 2 fields which are needed in both classes so rather than making somebody fill in these 2 fields twice I am trying to see if it is possible to use it to write to both classes in the model.

I have tried a few ideas but it seems I'm trying to aim in the dark.

An example of what I am thinking but is

@Html.TextBoxFor(model => model.class1.customerID, model => model.class2.CustomerID)
which I know wont work but it gives an idea what I'm trying. I would greatly appreciate anyone who can guide me in the right direction how to go about this.

Thanks in advance
Niall292Asked:
Who is Participating?
 
CamilliaConnect With a Mentor Commented:
You need to create a basemodel. I recently had a similar question. Let me see if I can find my question.

I created a base model class for fields that I needed to have in several models.
0
 
CamilliaConnect With a Mentor Commented:
0
 
Niall292Author Commented:
I don't know if it is the best way but I just used a bit of jquery to put the value into a hiddenFor and pointed it to the other field
0
Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

 
Niall292Author Commented:
Sorry Camilla I didn't see your response before I answered myself. I will look at you reply tomorrow as I would prefer not to use jquery if possible
0
 
Niall292Author Commented:
Camilla,
I was told your idea would work but I was also told I should go the jquery way so I still think your way might be tidier so I am giving you the points
0
 
CamilliaCommented:
No problem. How did you do it with jquery?
0
 
Niall292Author Commented:
I just put a hiddenFor control with an ID and put another ID on the TextBoxFor then

$("#TextBox").FocusOut( function () {
$("#Hidden").val($("#TextBox").val())
});
0
 
Niall292Author Commented:
forgot the ; at the end of $("#Hidden").val($("#TextBox").val());

also what I wrote is not in the right casing. (Guess who was a VB programmer)
the actual code I used was

$('#txtMerID').focusout(function () {
       $('#hidMerID').val($('#txtMerID').val());
});
0
 
CamilliaCommented:
Is the value of that hidden field preserved between postbacks? I need to do something similar and wasn't sure if the value gets preserved.  I'll try it.
0
 
Niall292Author Commented:
The hiddenField I made it a HiddenFor and it did keep it but which might make a difference I am using MVC.
0
 
CamilliaCommented:
I'm using MVC too. How did you define the HiddenFor element?
0
 
Niall292Author Commented:
Here is both the textbox and hiddenfield

@Html.TextBoxFor(model => model.class1.merID, new { @id = "txtMerID"})
@Html.HiddenFor(model => model.class2.merID, new {@id = "hidMerID"})

remember both of these classes are in the ViewModel
0
 
CamilliaCommented:
Thanks, I'll see if it works for me
0
 
Niall292Author Commented:
Camilla,
Did you try it
0
 
CamilliaCommented:
Yes, it worked. Thanks for your help.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.