2014-01-07 87 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的参数中即可。