I have a checkbox in my view, with an onclick event which sends the checkboxes ID to an action result in my controller (using Ajax). However, after running a breakpoint on the passed value within my controller, it seems as thou nothing is happening when i click on the checkbox? Why could this be?
My checkbox:
@using (Html.BeginForm("ItemsEdit", "Items", FormMethod.Post))
{
<input id = "@dataLineItem.Split(Model.ItemList.delimiterChar)[0]" type = "checkbox" value = "true" name = "Remember" onclick = "sendCheckId(this.id)"/>
<input type = "hidden" value = "false" name = "Remember" />
}
Jquery for sending the value to my ActionResult:
function sendCheckId(checkedId) {
var sentId = checkedId;
$.post("Items/ItemsEdit/", { sendIdToAction: sentId })
}
And finally my ActionResult within my "Items" controller:
public ActionResult ItemsEdit(string sendIdToAction, bool Remember)
{
string itemCheck = "true";
var path = "~/App_Data/Item.txt";
var originalLines = System.IO.File.ReadAllLines(Server.MapPath(path));
var updatedLines = new List<string>();
foreach (var line in originalLines)
{
string[] infos = line.Split(',');
if(infos[0] == sendIdToAction)
{
infos[3] = Remember.ToString();
}
updatedLines.Add(string.Join(",", infos));
}
System.IO.File.WriteAllLines(Server.MapPath(path), updatedLines);
return View();
}
What i am trying to do is pass the value of "Remember", which if i am correct, would be either true or false depending on whether the checkbox is ticked or not.
Because you have bool Remember parameter, you need send Remember parameter, and your URL miss "/", update your function as
function sendCheckId(checkedId) {
var sentId = checkedId;
$.post("/Items/ItemsEdit/", { sendIdToAction: sentId, Remember: false });
}
If you don't want to put Remember
parameter in POST method, you can set default value in action controller as
public ActionResult ItemsEdit(string sendIdToAction, bool Remember = false)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.