【发布时间】:2017-05-18 15:02:51
【问题描述】:
我正在尝试使用 Jquery 将下拉列表的值传递给我的控制器,我尝试的所有操作都为我提供了第二个参数的空指针。这是我的代码:
这是 jQuery 代码:
<script>
$(function () {
$("#ddl").on("change", function () {
var selectedID = $("#ddl").val();
this.href = this.href.replace("idhotel", selectedID);
});
});
</script>
这是我的 ActionLink:
@Html.ActionLink("Voeg toe aan winkelwagentje", "Winkelwagen", new { id = Model.Id, hotelid="idhotel" }, new { @class = "btn btn-default" })
这是我在控制器中的操作: (只是标题)
public ActionResult Winkelwagen(int? id,int hotelid)
{
Console.Write("Please give me the hotelid: " + hotelid);
Return View();
}
这是下拉列表:
@Html.DropDownList("ddl", new SelectList(ViewBag.list, "Text", "Value"), "Select")
输出下拉列表:
错误:
“/”应用程序中的服务器错误。
参数字典包含一个空条目,用于方法'System.Web.Mvc.ActionResult> Winkelwagen(System.Nullable`1[System.Int32]的非可空类型'System.Int32'的参数'hotelid' Int32)' > 在“TreinRittenVives.Controllers.ReizenController”中。可选参数必须 > 是引用类型、可空类型或声明为可选参数。 参数名称:参数
【问题讨论】:
-
你能告诉我们下拉菜单的输出 html 吗?另外,
console中的任何错误? -
您是否尝试在 jquery 函数中记录 selectedID 和 href 的值?你得到了什么?
-
控制台给了我id,但是替换有问题:
-
:无法获取未定义或空引用的属性“替换”
-
第二个参数不可为空。你如何获得它的空值?下拉菜单中的 this.href 也有变化吗?下拉菜单没有href。您应该选择您的操作链接,然后设置其 href
标签: c# jquery asp.net asp.net-mvc visual-studio