0

public IList<Labour> Labours { get; set; }

public class Labour
{
    public string WorkDates { get; set; }
    public string WorkHour { get; set; }
}

I have this code above on my class.

How can i add this to my Create View Razor? can anyone tell me please. Also how i can add another Labour in running time.

3
Contributors
13
Replies
45
Views
4 Years
Discussion Span
Last Post by Sebastián
0

Hi mich thank you for your reply but this is not i'm looking for this one is displaying list of ILIST.

What i want is Create new ILIST.

0

What i want is Create new ILIST.

You only did 3 lines of code?

public class Labour
{
public string WorkDates { get; set; }
public string WorkHour { get; set; }
}

Here is a simple code to start :

public class LabourController : Controller{

[HttpGet]

public ActionResult Index(){

var labours = new List<Labour>();

labours.Add(new Labour {
     WorkDates = "12/12/2012 - 12/16/2012" 
     WorkHour = "40" 
    });

labours.Add(new Labour {
     WorkDates = "12/6/2012 - 12/11/2012" 
     WorkHour = "30" 
    });

    return View(labours);
}
}

and this:

@model IList<Labour> <h2>Labour Index</h2>

@foreach (var labours in Model){

<div>
<span class="labourWorkDates">@labour.WorkDates</span> 
<span class="labourWorkHour">@labour.WorkHour</span> 
</div>

}

and this:

@foreach (var labours in Model)
{
@ViewHelperMethods.Renderlabour(labour)
}

I hope you get the idea how it works.

Edited by LastMitch: grammer

0

Hi Mitch Thanks

I'm trying to integrate your code to mine

This is my ServiceDTO.cs

public class ServiceDTO
{
public IList<LabourDTO> Labours { get; set; }
}

This is my LabourDTO.cs

public class LabourDTO
{
    public string WorkDate { get; set; }
    public string WorkTime { get; set; }
}

In my ServiceController

public ActionResult Index()
{
    var service = new ServiceDTO();
    return View(service);
}

In my Index.cshtml

-i want this line to Create 2 textbox for Workdate & Worktime.

<p>@Html.EditorFor(model => model.Labours)</p>

<a href="#">Add another labour</a>

Please check my attachment. That is my planning to do like Phonenumbers. If i click Add another labour another two textbox for labour. Please help i'm begging.

Regards,
Ryan :)

Attachments NestedFormScreenShot.png 3.93 KB
0

Please check my attachment. That is my planning to do like Phonenumbers. If i click Add another labour another two textbox for labour. Please help i'm begging.

What is the issue you are having? I'm not going to do your work. You have to explain to me what are you having problem with?

0

How can i add another TWO TEXTBOX.

As you can see in my attachment if you click the Add Phone Number it will be add another Phone Number. How to do that?

0

You mean input box?

<textarea> tags are different <input> tags.

<input></input>
<input></input>

How long have you learn ASP.net?

0

@html.TextBoxFor(m => m.WorkDate)
@html.TextBoxFor(m => m.WorkHour)

This is one mitch.

How long have you learn ASP.net? newbie :( i've started last month. So i'm still learning on it.

0

You can try this:

@using (Html.BeginForm("SaveData","ControllerName", FormMethod.Post))
{        
@html.TextBoxFor(m => m.WorkDate)
@html.TextBoxFor(m => m.WorkHour)

<input type="submit" value="Save" />
}

-

[HttpPost]
public ActionResult SaveData(FormCollection form)
{
return View();
}
0

Hi mitch how to add another

@html.TextBoxFor(m => m.WorkDate)
@html.TextBoxFor(m => m.WorkHour)?

0

Hi mitch how to add another

What are you talking about?

Can you post what you have so far.

I got no idea why you want another set of TextBox?

I hope you understand you need a form which I gave you a code snippet with that already:

@using (Html.BeginForm("SaveData","ControllerName", FormMethod.Post))
{
@html.TextBoxFor(m => m.WorkDate)
@html.TextBoxFor(m => m.WorkHour)

<input type="submit" value="Save" />
}

-

[HttpPost]
public ActionResult SaveData(FormCollection form)
{
return View();
}

You another set?

Then add the 2 phone numbers here:

@model IList<Labour> <h2>Labour Index</h2>
@foreach (var labours in Model){
<div>
<span class="labourWorkDates">@labour.WorkDates</span>
<span class="labourWorkHour">@labour.WorkHour</span>
<span class="labourPhoneNumber1">@labour.PhoneNumber1</span>
<span class="labourPhoneNumber2">@labour.PhoneNumber2</span>
</div>
}

-

@using (Html.BeginForm("SaveData","ControllerName", FormMethod.Post)){
@html.TextBoxFor(m => m.WorkDate)
@html.TextBoxFor(m => m.WorkHour)
@html.TextBoxFor(m => m.PhoneNumber1)
@html.TextBoxFor(m => m.PhoneNumber2)
<input type="submit" value="Save" />
}

On the HTML side it looks like this:

<form method="post" action="">
<input id="WorkDate" name="WorkDate" type="textbox" />
<input id="WorkHour" name="WorkHour" type="textbox" />
<input id="PhoneNumber1" name="PhoneNumber1" type="textbox" />
<input id="PhoneNumber2" name="PhoneNumber2" type="textbox" />
<input type="submit" name="button" value="Send" />
</form>

Edited by LastMitch: grammer

0

I think, you want when the user click "add" automatic and dinamically should appear two new inputs. If this is true, you need to create an action that recieves the click of "add" link and in this action add new model to your list and return the view.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.