Click here to Skip to main content
15,881,559 members
Home / Discussions / .NET (Core and Framework)
   

.NET (Core and Framework)

 
AnswerRe: ASP.NET Post Textbox After Button Click Pin
Richard MacCutchan9-Dec-12 21:54
mveRichard MacCutchan9-Dec-12 21:54 
GeneralRe: ASP.NET Post Textbox After Button Click Pin
xnaLearner10-Dec-12 0:14
xnaLearner10-Dec-12 0:14 
Question.netframework Pin
zofi518-Dec-12 4:30
zofi518-Dec-12 4:30 
AnswerRe: .netframework Pin
Dave Kreskowiak8-Dec-12 6:37
mveDave Kreskowiak8-Dec-12 6:37 
AnswerRe: .netframework Pin
Eddy Vluggen8-Dec-12 7:18
professionalEddy Vluggen8-Dec-12 7:18 
GeneralRe: .netframework Pin
Kevin Bewley13-Jan-13 23:46
Kevin Bewley13-Jan-13 23:46 
AnswerRe: .netframework Pin
Jibesh11-Dec-12 10:36
professionalJibesh11-Dec-12 10:36 
QuestionEnter 3 dates and display order in different VIEW, after click Pin
xnaLearner7-Dec-12 9:52
xnaLearner7-Dec-12 9:52 
Hey guys so im attempting to throw a project together to increase my knowledge of MVC3 but I have hit a wall...

So from my HolidaysController inside my index 'view' I have created a hyperlink which will navigate the user to the 'create3' ActionResult

HTML
@Html.ActionLink("Select 3 Dates", "Create3")

-------------------
In my create3 page I want the user to enter 3 dates into text boxes and when they click 'create' the user will be returned to the previous HolidaysController/Index page
where the dates will be displayed in order of ascending date....ATM I have this working up until the user enters 3 dates and clicks 'create'...However I only know
how to display a message box displaying the order, it is working I just need help getting the order to be displayed from the index page.

Please see my code:
Code for HolidayController/Index:
--------------
C#
//submit will go to post
   [HttpPost]
   public ViewResult Index(int HolidayDate)
   {
       var holidays = db.Holidays.Include("Person");

       HolidayList model = new HolidayList();

       model.currentPersonID = HolidayDate;
       model.PList4DD = db.People.ToList();
       model.Categories = holidays.Select(x => new SelectListItem
                                       {
                                           Value = x.Id.ToString(),
                                           Text = x.Person.Name
                                       }
                                     );


       int data = HolidayDate;

       model.HList4DD = db.Holidays.Where(h => h.PersonId == HolidayDate).ToList();

       return View(model);

   }

   [HttpGet]
   public ViewResult Index(string sortOrder, int? currentPersonID)
   {
       var holidays = db.Holidays.Include("Person");

       HolidayList model = new HolidayList();

       //not null
       if (currentPersonID.HasValue)
       {
           model.currentPersonID = currentPersonID.Value;

       }
       else
       {
           model.currentPersonID = 0;
       }

       model.PList4DD = db.People.ToList();

       ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "date" : "";
       var dates = from d in db.Holidays
                   where d.PersonId == currentPersonID.Value
                   select d;

       switch (sortOrder)
       {
           case "date":
               dates = dates.OrderBy(p => p.HolidayDate);
               break;
       }

       model.HList4DD = dates.ToList();

       return View(model);
   }

-----------------------
HTML
//View for Index

@*@model IEnumerable<HolidayBookingApp.Models.Holiday>*@
@model HolidayBookingApp.Models.HolidayList
@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>

<p>
@Html.ActionLink("Select 3 Dates", "Create3")
</p>

<table>
    <tr>
        <th>
            PersonId
        </th>
        <th>
            @*HolidayDate*@
            @Html.ActionLink("HolidayDate", "Index", new { sortOrder = ViewBag.NameSortParm, currentPersonID = Model.currentPersonID })
        </th>
        <th></th>
    </tr>
    <tr>  
    </tr>

@foreach (var item in Model.HList4DD)
{
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.PersonId)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.HolidayDate)
           
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
            @Html.ActionLink("Details", "Details", new { id = item.Id }) |
            @Html.ActionLink("Delete", "Delete", new { id = item.Id })
        </td>
    </tr>}
    
    <tr>
      <div class="editor-label">
         @*   @Html.LabelFor(model => model.PList4DD, "Person")*@
        </div>

        <div class="editor-field">           
             <form action ="/Holidays/Index" id="some" method="post"> 

  @Html.DropDownListFor(model => model.HList4DD.First().HolidayDate, new SelectList(Model.PList4DD, "Id", "Name", Model.currentPersonID), "--select--")    
       <script>
           function updateFormEnabled() 
           {
               if (verifyAdSettings()) 
               {
                   $('#sbmt').removeAttr('disabled');
               }
               else 
               {
                   $('#sbmt').attr('disabled', 'disabled');
               }
           }

           function verifyAdSettings() 
           {
               if ($('#HolidayDate').val() != '') 
               {
                   return true;
               }
               else 
               {
                   return false;
               }
           }

           $('#HolidayDate').change(updateFormEnabled);
      
           </script>
           
             <input type="submit" id= "sbmt" name="ViewHolidaysDD" value="View"/>
              </form>
  <script>
      $('#sbmt').attr('disabled', '');
        </script>

        </div>

</table>

<br />
<br />
<table>
    <div>
    Judging by your selection the order of dates are: //HERE IS WHERE I WANT TO DISPLAY THE ORDER OF DATES
    </div>

</table>



Just above is where I want to display my dates in order, ascending
------------
C#
-----------------------------------
//my create 3 Action result


 [HttpGet]
        public ActionResult Create3()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Create3(string date1, string date2, string date3)
        {
            string FirstDateOrder, SecondDateOrder, ThirdDateOrder;
         
            //date 1 is biggest
            if (date1.Length > date2.Length && date1.Length > date3.Length)
            {
                //date 2 is 2nd & date 3 is 3rd
                if (date2.Length > date3.Length)
                {
                    FirstDateOrder = date1;
                    SecondDateOrder = date2;
                    ThirdDateOrder = date3;

                    System.Windows.Forms.MessageBox.Show("Order is 1, 2, 3");

                    return RedirectToAction("Index");
                }

                //date 3 is 2nd & date 2 is 3rd
                else
                {
                    FirstDateOrder = date1;
                    SecondDateOrder = date3;
                    ThirdDateOrder = date2;

                    System.Windows.Forms.MessageBox.Show("Order is 1, 3, 2");

                    return RedirectToAction("Index");
                }
              
            }

            //date 2 is biggest
            if (date2.Length > date1.Length && date2.Length > date3.Length)
            {
                //date 1 is 2nd & date 3 is 3rd
                if (date1.Length > date3.Length)
                {
                    FirstDateOrder = date2;
                    SecondDateOrder = date1;
                    ThirdDateOrder = date3;

                    System.Windows.Forms.MessageBox.Show("Order is 2, 1, 3");

                    return RedirectToAction("Index");
                }

                //date 3 is 2nd & date 1 is 3rd
                else
                {
                    FirstDateOrder = date2;
                    SecondDateOrder = date3;
                    ThirdDateOrder = date1;

                    System.Windows.Forms.MessageBox.Show("Order is 2, 3, 1");

                    return RedirectToAction("Index");
                }

            }

            //date 3 is biggest
            if (date3.Length > date1.Length && date3.Length > date2.Length)
            {
                //date 1 is 2nd & date 2 is 3rd
                if (date1.Length > date2.Length)
                {
                    FirstDateOrder = date3;
                    SecondDateOrder = date1;
                    ThirdDateOrder = date2;

                    System.Windows.Forms.MessageBox.Show("Order is 3, 1, 2");

                    return RedirectToAction("Index");
                }

                //date 2 is 2nd & date 1 is 3rd
                else
                {
                    FirstDateOrder = date3;
                    SecondDateOrder = date2;
                    ThirdDateOrder = date1;

                    System.Windows.Forms.MessageBox.Show("Order is 3, 2, 1");

                    return RedirectToAction("Index");
                }

            }

            
            return RedirectToAction("Index");
        }

-----------------------------
C#
--------------
and my view:

	@model HolidayBookingApp.Models.Dates

@{
    ViewBag.Title = "Create3";
}

<h2>Create3</h2>

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Dates</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.date1)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.date1)
            @Html.ValidationMessageFor(model => model.date1)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.date2)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.date2)
            @Html.ValidationMessageFor(model => model.date2)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.date3)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.date3)
            @Html.ValidationMessageFor(model => model.date3)
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>"Index")


</div>


---------------
Not sure where to go from here something like create a paramter in the Index View which pulls across the order?

Any help would be great thanks guys and sorry about the essay
Question[VB.NET 2008] How to detect if a page of a TabControl is selected (Windows CE) Pin
steve_94966136-Dec-12 21:37
professionalsteve_94966136-Dec-12 21:37 
AnswerRe: [VB.NET 2008] How to detect if a page of a TabControl is selected (Windows CE) Pin
Zaf Khan10-Dec-12 17:57
Zaf Khan10-Dec-12 17:57 
GeneralRe: [VB.NET 2008] How to detect if a page of a TabControl is selected (Windows CE) Pin
steve_949661311-Dec-12 21:20
professionalsteve_949661311-Dec-12 21:20 
GeneralRe: [VB.NET 2008] How to detect if a page of a TabControl is selected (Windows CE) Pin
Zaf Khan12-Dec-12 2:13
Zaf Khan12-Dec-12 2:13 
Question[VB.NET 2008] How to get control on objects created at runtime Pin
steve_94966135-Dec-12 4:54
professionalsteve_94966135-Dec-12 4:54 
AnswerRe: [VB.NET 2008] How to get control on objects created at runtime Pin
Eddy Vluggen5-Dec-12 5:40
professionalEddy Vluggen5-Dec-12 5:40 
GeneralRe: [VB.NET 2008] How to get control on objects created at runtime Pin
steve_94966135-Dec-12 20:59
professionalsteve_94966135-Dec-12 20:59 
GeneralRe: [VB.NET 2008] How to get control on objects created at runtime Pin
Eddy Vluggen6-Dec-12 2:27
professionalEddy Vluggen6-Dec-12 2:27 
GeneralRe: [VB.NET 2008] How to get control on objects created at runtime Pin
steve_94966136-Dec-12 3:26
professionalsteve_94966136-Dec-12 3:26 
GeneralRe: [VB.NET 2008] How to get control on objects created at runtime Pin
Eddy Vluggen6-Dec-12 5:02
professionalEddy Vluggen6-Dec-12 5:02 
GeneralRe: [VB.NET 2008] How to get control on objects created at runtime Pin
steve_94966136-Dec-12 21:25
professionalsteve_94966136-Dec-12 21:25 
GeneralRe: [VB.NET 2008] How to get control on objects created at runtime Pin
Eddy Vluggen7-Dec-12 1:16
professionalEddy Vluggen7-Dec-12 1:16 
QuestionTesting Practices Pin
AnalogNerd5-Dec-12 4:44
AnalogNerd5-Dec-12 4:44 
AnswerRe: Testing Practices Pin
Eddy Vluggen5-Dec-12 5:36
professionalEddy Vluggen5-Dec-12 5:36 
GeneralRe: Testing Practices Pin
AnalogNerd5-Dec-12 5:45
AnalogNerd5-Dec-12 5:45 
GeneralRe: Testing Practices Pin
Eddy Vluggen5-Dec-12 5:53
professionalEddy Vluggen5-Dec-12 5:53 
GeneralRe: Testing Practices Pin
Dave Kreskowiak5-Dec-12 6:29
mveDave Kreskowiak5-Dec-12 6:29 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.