【发布时间】:2013-02-21 12:21:50
【问题描述】:
当我必须将此语句写入 Javascript 以调用具有 ID 的控制器 Actionresult 方法时
function submitForm(state)
{
if (state != "")
{
alert("Hellooo");
var ele = document.getElementById('gridform').elements;
var strvalue = "";
for (var i = 0; i < ele.length; i++)
{
if (ele[i].type == "checkbox")
{
if (ele[i].name == "chkactive[]")
{
if (ele[i].checked == true)
{
if (strvalue != "")
strvalue = strvalue + "," + ele[i].value;
else
strvalue = ele[i].value;
}
}
}
}
}
alert("ok fine" + strvalue);
if (strvalue != null)
{
alert("NOT Null");
}
$.post('@Url.Action("Useractive","Admin", new{})' + '?Id=' + strvalue);
但我无法调用管理控制器的 UserActive 方法 调用此语句时我不会收到任何错误,但只是没有使用 id 导航到控制器的方法... 请帮助我是什么原因我做错了..!
这是我的控制器操作方法:-
public ActionResult Useractive(string Id)
{
int[] numbers = Id.Split(',').Select(n => int.Parse(n)).ToArray();
foreach (int id in numbers)
{
User_Master u_master = db.User_Masters.Find(id);
if (u_master.Is_active == "False")
{
u_master.Is_active = "True";
db.Configuration.ValidateOnSaveEnabled = false;
db.SaveChanges();
}
}
return RedirectToAction("Userlist","Admin");
}
【问题讨论】:
-
在您使用的任何浏览器上,您是否在控制台中看到任何有关开发工具的消息?我修剪了你的 javascript 并将硬编码的 strvalue 发布到实现你的方法的精简管理控制器(跳过数据库内容,在用户列表中返回一个字符串),一切似乎都正常。
-
先生....上面我已经发布了我的声明在我的正常项目中运行良好,但是当我必须在 IIS 上托管我的项目并在那时运行它时这不起作用控制器的执行和动作结果方法没有被调用......但通常可以执行所以请帮助我..! @乔
标签: asp.net asp.net-mvc-3 razor