我正在尝试将所有数据传递给HttpPost'index'方法,但它无法正常工作。
我的观点如下:
angular.element('#add_widget').click();
我的模特:
<body>
@using (Html.BeginForm())
{
<select class="selectStyled" id="SelectBranch">
@{
var branches = Model.Select(x => x.Branch1).Distinct().ToList();
}
<option value="">Pick-up location</option>
@foreach (var i in branches)
{
<option value="@i">@i</option>
}
</select>
<input type="text" placeholder="Pick Up Date" id="txtboxPickup" />
<input type="time" />
<input type="text" placeholder="Drop Off Date" id="txtboxDropoff" />
<input type="time" />
<input class="buttonStyle" style="background-color:white; color:black" type="submit" value="Search" />
}
</body>
在控制器中我有两种方法:
@model IEnumerable<MvcProject.Branch>
答案 0 :(得分:0)
据我所知,在Index操作中,您希望传递三个值:branch,pickup,dropoff值。更好的方法
1)创建模型
public class BranchPostModel
{
public int BranchId {get;set;}
public string Pickup {get;set;}
public string Dropoff{get;set;}
}
2)将您的索引后操作更改为:
[HttpPost]
public ActionResult Index(BranchPostModel model)
{
///////////
Branch b = me.Branches.First(i=>i.Id == model.BranchId);
var pickup = model.Pickup;
var dropoff = model.Dropoff;
//////////
return View();
}
3)在视图中输入正确的名称/选择。 HTML中输入的名称应与BranchPostModel
中的属性名称相匹配<body>
@using (Html.BeginForm())
{
<select class="selectStyled" name="BranchId" id="SelectBranch">
@{
var branches = Model.Select(x => x.Branch1).Distinct().ToList();
}
<option value="">Pick-up location</option>
@foreach (var i in branches)
{
<option value="@i">@i</option>
}
</select>
<input type="text" placeholder="Pick Up Date" name="Pickup" id="txtboxPickup" />
<input type="time" />
<input type="text" placeholder="Drop Off Date" name="Dropoff" id="txtboxDropoff" />
<input type="time" />
<input class="buttonStyle" style="background-color:white; color:black" type="submit" value="Search" />
}
</body>
答案 1 :(得分:0)
尝试Ajax方法。它有助于将任何数据传递到相应的Action
$.ajax({
url: '@Url.Action("ControllerName","test")',
data: {data: item},
type: 'POST',
success: function(data) {
Alert("Data passed Sucessfully");
}
});