【发布时间】:2012-12-28 13:42:29
【问题描述】:
我尝试了几个链接,这导致我找到了我的代码...这不起作用:D
Get The Drop on DropDownLists 和 Creating Cascading Dropdown Lists
我试图让用户从下拉列表中选择零件编号 (itemnmbr),并在他们选择后,让页面刷新零件描述 (itemdesc) 文本框并使用正确的值。下面是我得到的最接近的。
查看代码:
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#ITEMNMBR").change(function () {
$.get("/PartsLabor/GetPartDesc", $(this).val(), function (data) {
$("#ITEMDESC").val(data);
});
});
});
</script>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Add part to call: @ViewBag.CALLNBR</legend>
@Html.LabelFor(model => model.ITEMNMBR, "Item Number")
@Html.DropDownList("ITEMNMBR", (SelectList) ViewBag.Items, "Please Select a Part #")
@Html.ValidationMessageFor(model => model.ITEMNMBR)
<br />
@Html.LabelFor(model => model.ITEMDESC, "Description")
@Html.EditorFor(model => model.ITEMDESC)
@Html.ValidationMessageFor(model => model.ITEMDESC)
<br />
<input type="submit" class="submit" value="Add Part" />
</fieldset>
}
控制器代码:
[Authorize]
public ActionResult PCreate(string call)
{
var q = db.IV00101.Select(i => new { i.ITEMNMBR});
ViewBag.Items = new SelectList(q.AsEnumerable(), "ITEMNMBR", "ITEMNMBR");
ViewBag.CALLNBR = call;
return View();
}
public ActionResult GetPartDesc(char itemnmbr)
{
var iv101 = db.IV00101.FirstOrDefault(i => i.ITEMNMBR.Contains(itemnmbr));
string desc = iv101.ITEMDESC;
return Content(desc);
}
Firefox 错误控制台返回:
时间戳:2012 年 12 月 28 日下午 2:40:29 警告:指定使用属性 属性已弃用。它总是返回 true。源文件: http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.6.4.min.js线:2
时间戳:2012 年 12 月 28 日下午 2:40:34 警告:getAttributeNode() 的使用是 已弃用。请改用 getAttribute()。源文件: ~/Scripts/jquery-1.6.4.min.js 行:3
Firefox Web 控制台返回这两个,以及以下(位于上述两者之间):
请求网址:~/PartsLabor/GetPartDesc?002N02337 请求方法:GET 状态码:HTTP/1.1 500 内部服务器错误
【问题讨论】:
-
你能详细说明到底是什么不工作吗?例如,您是否在浏览器的调试工具控制台输出窗口中遇到任何错误?
-
如果你在 GetPartDesc 中设置一个断点,它会被命中吗? itemnmbr 是否具有您预期的价值?
-
@BenTidman 在 GetPartDesc 的控制器上放置一个断点。当我选择 itemnmbr 时不会中断...
-
@FrançoisWahl 使用 Firefox。当我查看“Web 控制台”并选择一个部分时,我得到:[13:58:36.938] Use of attributes' specified attribute is deprecated。它总是返回 true。 @ ajax.aspnetcdn.com/ajax/jquery/jquery-1.6.4.min.js:2 [13:58:37.007] GET localhost:10659/PartsLabor/… [HTTP/1.1 500 内部服务器错误 64ms] -- [13:58:48.385] 不推荐使用 getAttributeNode()。请改用 getAttribute()。 @localhost:10659/Scripts/jquery-1.6.4.min.js:3
-
您尝试过我在下面发布的更改吗?
标签: c# jquery asp.net-mvc-3 entity-framework