我希望创建一个下拉选择列表,其中包含可以触发http Get和刷新页面的选项。 我希望在单击下拉列表中的选项时在控制器操作中运行一些代码。 我使用了Html.DropdownlistFor()帮助器,但我无法操纵它。 这是代码,所以你可以更好地理解我,
var olist = db.ItemPackagingUnits.Where(i => i.ItemName.Equals(item.ItemName.ToUpper().Trim()));
<td>
<select>
@foreach(var oitem in olist)
{
<option value ='<a href ="/Restaurant/DoSales?ItemName=@item.ItemName&PackagingUnit=@oitem.UnitOfMeasurementName&recalulatePrice=true">@oitem.UnitOfMeasurementName</a>'>@oitem.UnitOfMeasurementName</option>
}
</select>
</td>
我希望我已经提供了足够的信息来表达我希望实现的目标。 DoSales是餐厅控制器中的一个动作,它包含Get和Post部分,但我只希望在用户点击任何一个时调用get部分并同时刷新页面(否则我会使用Ajax或JSon)生成的下拉列表中的选项。谢谢。
答案 0 :(得分:0)
是的,它有效!谢谢Mario J Vargas!这是代码和javascript!
var olist = db.ItemPackagingUnits.Where(i => i.ItemName.Equals(item.ItemName.ToUpper().Trim()));
<td>
<select onchange ="myFunc(this)">
@foreach(var oitem in olist)
{
<option value ='/Restaurant/DoSales?ItemName=@item.ItemName&PackagingUnit=@oitem.UnitOfMeasurementName&recalulatePrice=true'>@oitem.UnitOfMeasurementName</option>
}
</select>
</td>
<script type="text/javascript">
function myFunc(myDropdown) {
//var myDropdown = document.getElementById(ddname);
window.location = myDropdown.options[myDropdown.selectedIndex].value;
}
Anon,你的建议我认为有一些优点和听起来可行,但我很快就实现了马里奥的。谢谢你的回应。确实,没有像StackOverflow这样的地方!再次感谢Mario和Anon。