当前位置: 代码迷 >> ASP.NET >> 请问一个关于MVC3/MVC4的有关问题,
  详细解决方案

请问一个关于MVC3/MVC4的有关问题,

热度:717   发布时间:2013-02-25 00:00:00.0
请教一个关于MVC3/MVC4的问题,高手请进。
具体问题是这样的,新建了一个MVC项目,在Home\Index.cshtml 里面有几个选项:

有一个下拉菜单,
<select id="picklist1"> 
  <option value="option1">Option1</option> 
  <option value="option2">Option2</option> 
</select> 

还有一个按钮
<button name="submit" id="submit">Submit</button>

还有另一个下拉菜单,
<select id="picklist2"> 
</select> 

用户点击Submit按钮则向Controller传送用户在picklist1里面选择的内容,Controller处理完毕,将返回一字符串数组,
我需要把这个数组的内容显示在picklist2里面,
比如:

<select id="picklist2"> 
  <option value="string1">string1</option> 
  <option value="string2">string2</option> 
</select> 

我的问题是:
1. 如何将picklist1里面的被选择的数据传递给Controller
2. Controller如何返回数据给index.cshtml
3. 如何把返回的数据显示在picklist2里面


新手MVC,希望给出解决我这个具体问题的代码来帮助理解。
非常感谢。



------解决方案--------------------------------------------------------
1. 如何将picklist1里面的被选择的数据传递给Controller
用Request.From["picklist1"]取值,picklist1这个是select的name属性
2. Controller如何返回数据给index.cshtml
用ViewData["Skey"]=你的数据
3. 如何把返回的数据显示在picklist2里面
将ViewData["Skey"]绑定给picklist2 

------解决方案--------------------------------------------------------
楼上的方法可行
------解决方案--------------------------------------------------------
1、picklist1这个是select的name属性 提交会自动获取值
C# code
public ActionResult Index()        {            return View();        }        [HttpPost]        public ActionResult Index(string picklist1)        {            return View();        }
------解决方案--------------------------------------------------------
MVC3/MVC4

有mvc4?
------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------
探讨

MVC3/MVC4

有mvc4?

------解决方案--------------------------------------------------------
MVC4 都用了很久了
------解决方案--------------------------------------------------------
例子:

【View】

@Html.DropDownList("ResourceID", "")

【Controller】

C# code
[NonAction]private void PopulateResourcesDropDownList(int? selectedValue = null){   ViewBag.ResourceID = new SelectList(unitOfWork.ResourceRepository.GetAll().Select(r =>     new { ID = r.ID, Name = r.Name + "(" + (r.Comment ?? "无") + ")" }), "ID", "Name", selectedValue);}
------解决方案--------------------------------------------------------
http://developer.51cto.com/art/200910/159507.htm
------解决方案--------------------------------------------------------
MVC4出来了吗?
OUT了的说呀!!
------解决方案--------------------------------------------------------
无刷新的方式,要刷新可用一楼的方法。
JScript code
function LoadInfo() {     var _this = this;     var aj = 1;     var postData = {};     postData["picklist1"] = $('#picklist1').attr('value');     if (aj == 1) {         aj = 0;         $.ajax({             type: "post",             url: "/Controller/Action,   //控制器名/操作名(返回jsonResult)             dataType: 'json',             data: postData,             success: function (x) {                 $('#picklist2').empty();                 if (x != null) {                     if (x != null) {                         var Data='';                         for(var i=0;i<x.length;i++)                         {                            Data += '<option value=' + x[i].value + '>' + x[i].key + '</option>';                         }                         $("#picklist2").append(Data);                     }                 }             },             complete: function () { aj = 1; }         });         return false;     } }
  相关解决方案