2016-09-22 13 views
0

新しいビューをソートするためにビューからコントローラにデータを移動するのにはいくつかの試みがありましたが、データを受け渡しできません。ここで私が持っているものです。データをView-to-Controllerに渡す

ビュー1

@model TabCheckout.checkout 
@{ 
    ViewBag.Title = "Select the Letter of Your Last Name"; 
} 
<h3>Select the Letter of Your Last Name</h3> 
@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 
    <div class="form-horizontal"> 
     @Html.ValidationSummary(true, "", new { @class = "text-danger" }) 
     <div class="form-group"> 
      <div class="col-md-10"> 
       @{int i = 0; 
        foreach (string letter in ViewBag.Letters) 
        { 
         i++; 
         if (i == 9) 
         { 
          i = 0; 
         @Html.Raw("<br />") 
         } 
         else 
         { 
          <input type='submit' id='@letter' name='selectletter' value='@letter' formaction='Names' />      
          } 
         } 
        } 
      </div> 
     </div> 
    </div> 
} 

コントローラ

public ActionResult Letters(string selectletter) 
     { 
      List<string> letters = new List<string>(); 
      for (int y = 0; y < 26; y++) 
      { 
       char filter = Convert.ToChar(65 + y); 
       string letter = filter.ToString(); 
       letters.Add(letter); 
      } 
      ViewBag.Letters = letters; 
      GlobalVariable.selectletter = Convert.ToString(selectletter); 
      return View(GlobalVariable.selectletter); 
     } 
     public ActionResult Names() 
     { 
      //  var namesrt = from s in db.users 
      //     select s; 
      //  namesrt = namesrt.Where(s => s.LastName.StartsWith(GlobalVariable.letter)); 
      // ViewBag.UserID = new SelectList(namesrt, "UserID", "FullName", null); 
      ViewBag.UserID = new SelectList(db.users, "UserID", "FullName", null); 
      return View(); 
     } 

ビュー2

@model TabCheckout.checkout 
@{ 
    ViewBag.Title = "Select Your Name"; 
} 
<h3>Select Your Name - @GlobalVariable.selectletter</h3> 
@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 
    <div class="form-horizontal"> 
     @Html.ValidationSummary(true, "", new { @class = "text-danger" }) 
     <div class="form-group"> 
      <div class="col-md-10"> 
       @{int i = 0; 
        foreach (var item in ViewBag.UserID as SelectList) 
        { 
         i++; 
         if (i == 9) 
         { 
          i = 0; 
          @Html.Raw("<br />") 
         } 
         else 
         { 
          <input type="submit" name="@item.Text" value="@item.Text" formaction="Vehicles"> 
         } 
        } 
       } 
      </div> 
     </div> 
    </div> 
} 

I F問題の大半が私のコントローラーの言い回しと関係しているようなうなじ。私は文字列、FormCollection、および現在の混乱に要求名を使用してみました。

私の限られたスキルレベルにご協力いただきありがとうございます。

モデル

namespace TabCheckout 
{ 
    using System; 
    using System.Collections.Generic; 
    using System.ComponentModel.DataAnnotations; 
    using System.ComponentModel.DataAnnotations.Schema; 
    using System.Data.Entity.Spatial; 

    [Table("NewsData_Tab.checkout")] 
    public partial class checkout 
    { 
     public int CheckoutID { get; set; } 
     [Required] 
     public int User { get; set; } 
     [ForeignKey("User")] 
     public virtual user users { get; set; } 
     [Required] 
     public int Vehicle { get; set; } 
     [ForeignKey("Vehicle")] 
     public virtual vehicle vehicles { get; set; } 
     [Required] 
     public int Equipment { get; set; } 
     public DateTime TimeOut { get; set; } 
     public DateTime TimeIn { get; set; } 
     public checkout() 
     { 
      TimeOut = DateTime.Now; 
     } 
    } 
    public static class GlobalVariable 
    { 
     public static string selectletter { get; set; } 
    } 
} 
それは私の作品
+0

model-view-controllerタグは、パターンに関する質問用です。 ASP.NET-MVCの実装には特定のタグがあります。 –

答えて

0
public ActionResult Names(FormCollection form) 
    { 

     var letter = form["selectletter"]; 

     ViewBag.UserID = new SelectList(db.users, "UserID", "FullName", null); 
     return View(); 
    } 

はここで完全な情報開示のためのモデルです!

+0

Guihermeありがとうございました!私はFormCollectionをController内のNamesの代わりにLettersの下に置いていました。 – hwy

関連する問題