2014-01-07 127 views
-2

控制器我在查看一個鏈接和ComboBox:傳遞值從查看

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

@foreach (var item in Model) 
{ 
@Html.DropDownListFor(modelItem => item.TitleIds, new SelectList(ViewBag.TitleNames as System.Collections.IEnumerable, "TitleId", "Title.TitleText"), "No: " + (string) ViewBag.MagNo, new { id = "TitleIds" }) 
break; 
} 

我想只要我點擊鏈接「新建」,DropDownListFor的選擇的值傳遞給控制器​​「CreateArticle 「? 我應該怎麼做?

回答

1

很難理解這個頁面是做什麼的。但讓我們有一個刺傷它。

首先,您需要了解MVC以及您如何創建表單。但是,如果你想傳統地發佈數據你的控制器(讓我們離開一個Ajax)需要一個<form>標籤,這可以使用html helper來完成,比如。

@using(Html.BeginForm()){ 
    //form contents here 
} 

接下來您將需要提交您的表格一些如何。這可以通過一個按鈕完成。

@using(Html.BeginForm()){ 
     //form contents here 
     <button type="submit">submit</button> 
} 

現在我們已經對基礎知識進行了排序。上面的代碼將簡單地將表單提交給當前控制器操作。要將您的表單提交給特定的控制器操作,您必須修改您的幫助程序BeginForm。如。

@using (Html.BeginForm("CreateArticle", "Default")) 
{ 
    //form contolls here 
    <button type="submit">submit</button> 
}) 

大現在的形式發佈到Default控制器上的CreateArticle行動。

接下來將是你的controlls。現在,就我而言,因爲你的模型沒有多大意義。

@using (Html.BeginForm("CreateArticle", "Default")) 
{ 
    //form contolls here 
    foreach (var item in Model) 
    { 
     @Html.DropDownListFor(modelItem => modelItem.TitleIds, new SelectList(ViewBag.TitleNames as System.Collections.IEnumerable, "TitleId", "Title.TitleText"), "No: " + (string)ViewBag.MagNo, new { id = "TitleIds" }) 
     break; 
    } 
    <button type="submit">submit</button> 
}) 

從這裏你自己。我建議閱讀使用MVC的基本教程

http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3

0

您可以使用ajax發佈並用jQuery click事件替換@ Html.ActionLink(「Create New」,「CreateArticle」)。
只需將選定的值放入帖子URL的參數中即可。