0

RAZORを使用したMVC3プロジェクトでこんにちは。1つ疑問があります。

CatlogPage.cshtml という名前のページがあります。そのページには、ドロップダウン リスト コントロールがあります。

 @(Html.Telerik().DropDownListFor(m => m.CatalogName)
     .BindTo(Model.CatalogName).HtmlAttributes(new { style = "width:235px" }))
   <input type="submit" value="Next" />

Hierarchy.cs という名前のコントローラーがあります。そのコントローラーでは、

  public ActionResult Hierarchy()
       {

          // Need to get the selected value in DropDownList
          return View("Hierarchy");
       }

dropDownList からコントローラーに値 (CatalogName) を取得する方法は?

これは私のモデルコードです。

public List<SelectListItem> GetCatalogNameModel()
        {
            try{
                var cat = from s in _entities.Catalogs.ToList()
                          select new SelectListItem()
                                  {
                                      Text = s.CatalogName,
                                      Value = s.CatalogName
                                  };
                return cat.ToList();}
            catch (Exception ex)
            {
                CreateLogFiles.ErrorLog(HttpContext.Current.Server.MapPath("~/Logs/ErrorLog"), ex, "CatalogService", "GetCatlogName");
                return null;
            }

        }
4

2 に答える 2

1

最初のコード スニペットが厳密に型指定されたビュー (オブジェクト DatabaseModel.CatalogModel) からのものであり、フォームを Hierachy メソッドに送信すると仮定すると、CatalogModel を渡して CatalogName にアクセスする必要があります。

すなわち

public ActionResult Hierarchy(DatabaseModel.CatalogModel inputModel)
       {

          inputModel.CatalogName; //This will be the value from the drop down list
          return View("Hierarchy");
       }
于 2013-03-18T20:41:34.263 に答える
1

DropDownList では、Int プロパティを使用して選択した ID を受け取ります。したがって、私の答えは次のとおりです。このプロパティをViewModelに追加します。

public Int32 SelectedCatalogId {get;set;}

それを DropDownList にバインドします。

@Html.DropDownListFor(m => m.SelectedCatalogId, Model.GetCatalogNameModel())
于 2013-03-18T22:01:42.557 に答える