C# 如何将值从控制器a传递到视图(a),然后从视图(a)传递到控制器B?
在我的sql表中有一个字段类型为nvarchar,它是AvailableSizes,值为40,41,42,43。我想使用C# 如何将值从控制器a传递到视图(a),然后从视图(a)传递到控制器B?,c#,ajax,asp.net-mvc,view,viewdata,C#,Ajax,Asp.net Mvc,View,Viewdata,在我的sql表中有一个字段类型为nvarchar,它是AvailableSizes,值为40,41,42,43。我想使用.split()方法在控制器A中拆分这些字符串,然后将其作为单个选择列表传递给下拉列表中的视图A。从视图(a)中,我想将所选值let假设值42传递给B控制器,我应该怎么做?我无法为此编写一个代码,因为我不知道怎么做?任何现实的例子都将不胜感激。因此,首先您可以创建一个视图模型,该模型将包含选择和所选值 public class MyViewModel { public
.split()
方法在控制器A中拆分这些字符串,然后将其作为单个选择列表传递给下拉列表中的视图A。从视图(a)中,我想将所选值let假设值42传递给B控制器,我应该怎么做?我无法为此编写一个代码,因为我不知道怎么做?任何现实的例子都将不胜感激。因此,首先您可以创建一个视图模型,该模型将包含选择和所选值
public class MyViewModel
{
public MyViewModel()
{
SizeChoices = new List<int>();
}
public int ChosenSize { get; set; }
public IEnumerable<int> SizeChoices { get; set; }
public SelectList SizeChoicesSelectList
{
get
{
return new SelectList(SizeChoices);
}
}
}
然后,在ControllerA
视图中,可以使用Html.DropDownListFor
方法呈现下拉列表。您需要将其封装在Html.BeginForm
语句中,该语句将发布到ControllerB
的ActionB
@model So_MVC.Models.MyViewModel
@using (Html.BeginForm("ActionB", "ControllerB", FormMethod.Post))
{
@Html.DropDownListFor(m => m.ChosenSize, Model.SizeChoicesSelectList)
<input type="submit" value="Submit" />
}
因此,首先可以创建一个视图模型,该模型将同时保存选项和所选值
public class MyViewModel
{
public MyViewModel()
{
SizeChoices = new List<int>();
}
public int ChosenSize { get; set; }
public IEnumerable<int> SizeChoices { get; set; }
public SelectList SizeChoicesSelectList
{
get
{
return new SelectList(SizeChoices);
}
}
}
然后,在ControllerA
视图中,可以使用Html.DropDownListFor
方法呈现下拉列表。您需要将其封装在Html.BeginForm
语句中,该语句将发布到ControllerB
的ActionB
@model So_MVC.Models.MyViewModel
@using (Html.BeginForm("ActionB", "ControllerB", FormMethod.Post))
{
@Html.DropDownListFor(m => m.ChosenSize, Model.SizeChoicesSelectList)
<input type="submit" value="Submit" />
}
你能提供一个代码示例吗?@Vladimir真的不知道怎么做。你能提供一个代码示例吗?@Vladimir真的不知道怎么做。