【发布时间】:2017-01-18 22:52:14
【问题描述】:
是的...我一直在搜索有关连接下拉列表的信息,以便它使用 asp.net mvc 工具在控制器中运行一个函数。
$(function() {
$("#title").change(function() {
var selectedVal=$(this).val();
$.getJSON("UserController/YourAction",{ id: selectedVal } , function(result) {
//Now you can access the jSon data here in the result variable
});
});
});
假设您的 UserController 中有一个名为 YourAction 的 Action 方法,该方法返回 JSON
public ActionResult YourAction(int id)
{
//TO DO : get data from wherever you want.
var result=new { Success="True", Message="Some Info"};
return Json(result, JsonRequestBehavior.AllowGet);
}
所以当我使用它时它什么也没做??? 我不知道 json 是什么,但我知道我不需要我的应用程序返回任何东西......
所以这就是尝试过的......在编辑表单中我有这个元素:
$('#RES_TEST_ID').change(function () {
var CurVID = $(this).val();
var IntVID = $(document.getElementById('BUVID')).val();
//alert(CurVID);
//alert(IntVID);
debugger
$.getJSON("TEST_REQUESTController/CheckCTEST", { Int_TEST_ID: IntTID, Cur_TEST_ID: CurTID }, function (result) {
});
});
在编辑控制器中...我在帖子和获取部分都厌倦了这部分,因为帖子没有说明您应该在控制器中的哪个位置添加它:
public ActionResult CheckChangeTEST(int Int_TEST_ID, int Cur_TEST_ID)
{
if (Int_TEST_ID != Cur_TEST_ID)
{
var SelectedTEST = db.TEST_TEST_INFO.Find(Int_TEST_ID);
SelectedTEST.VI_STATUS = 1;
SelectedTEST = db.TEST_TEST_INFO.Find(Cur_TEST_ID);
SelectedTEST.VI_STATUS = 2;
var result = new { Success = "True", Message = "Some Info" };
return Json(result, JsonRequestBehavior.AllowGet);
}
return null;
}
对我来说,什么都没有发生...我尝试查看断点,但它们从未进入控制器。我再次将它放在编辑控件下的 Post 和 get 部分中,因为我希望它在用户编辑更改下拉列表中的值时运行。任何人都有任何想法可以分享这里发生的事情?
【问题讨论】:
-
如果你的控制器是
UserController,你的方法是YourAction(),那么url需要是'/User/YourAction',)不是'UserController/YourAction')但是总是使用@Url.Action("YourAction", "User")'来生成正确的url .并且只需使用浏览器工具调试代码就会很明显你遇到了 404 错误 -
嗨,斯蒂芬...我没有收到 404 错误,只是在我调试 javascript 调试而不是后面的代码时不会去调试....所以我不知道它是调用函数...老实说,我不知道自己在做什么...所以我也是拉丁语...所以您说的是使用@而不是正斜杠,如果我可以问,@会做什么?非常感谢您的帮助...我会尝试所有这些建议。谢谢!
-
如果您打开浏览器开发工具 (F12) 并查看控制台选项卡,您会看到错误
-
还有什么是浏览器工具?我能通过 nugets 得到这个吗?
-
啊,好的,谢谢...如果你不介意我问,我的电话应该在控制器的 get 或 post 部分吗?
标签: javascript c# json asp.net-mvc vb.net